getting_started.sh 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #!/bin/bash
  2. echo "Welcome to libhv!"
  3. echo "Press any key to run ..."
  4. # run curl
  5. echo_cmd() {
  6. echo -e "\n\033[36m$cmd\033[0m"
  7. read -n1
  8. }
  9. run_cmd() {
  10. echo_cmd
  11. $cmd
  12. }
  13. # compile httpd curl
  14. if [ ! -x bin/httpd -o ! -x bin/curl ]; then
  15. cmd="make httpd curl" && echo_cmd
  16. ./configure
  17. make clean
  18. make -j4 httpd curl
  19. fi
  20. # run httpd
  21. processes=$(ps aux | grep -v grep | grep httpd | wc -l)
  22. if [ $processes -lt 1 ]; then
  23. cmd="bin/httpd -c etc/httpd.conf -s restart -d" && run_cmd
  24. fi
  25. ps aux | grep -v grep | grep httpd
  26. # http web service
  27. cmd="bin/curl -v localhost:8080" && run_cmd
  28. # http indexof service
  29. cmd="bin/curl -v localhost:8080/downloads/" && run_cmd
  30. # http api service
  31. cmd="bin/curl -v localhost:8080/paths" && run_cmd
  32. cmd="bin/curl -v localhost:8080/ping" && run_cmd
  33. cmd="bin/curl -v localhost:8080/data" && run_cmd
  34. cmd="bin/curl -v localhost:8080/html/index.html" && run_cmd
  35. cmd="bin/curl -v localhost:8080/echo -d 'hello,world!'" && echo_cmd
  36. bin/curl -v localhost:8080/echo -d 'hello,world!'
  37. cmd="bin/curl -v localhost:8080/query?page_no=1&page_size=10" && run_cmd
  38. cmd="bin/curl -v localhost:8080/kv -H 'Content-Type:application/x-www-form-urlencoded' -d 'user=admin&pswd=123456'" && echo_cmd
  39. bin/curl -v localhost:8080/kv -H 'Content-Type:application/x-www-form-urlencoded' -d 'user=admin&pswd=123456'
  40. cmd="bin/curl -v localhost:8080/json -H 'Content-Type:application/json' -d '{\"user\":\"admin\",\"pswd\":\"123456\"}'" && echo_cmd
  41. bin/curl -v localhost:8080/json -H 'Content-Type:application/json' -d '{"user":"admin","pswd":"123456"}'
  42. cmd="bin/curl -v localhost:8080/form -F 'user=admin pswd=123456'" && echo_cmd
  43. bin/curl -v localhost:8080/form -F 'user=admin pswd=123456'
  44. cmd="bin/curl -v localhost:8080/upload -F 'file=@LICENSE'" && echo_cmd
  45. bin/curl -v localhost:8080/upload -F 'file=@LICENSE'
  46. cmd="bin/curl -v localhost:8080/test -H 'Content-Type:application/x-www-form-urlencoded' -d 'bool=1&int=123&float=3.14&string=hello'" && echo_cmd
  47. bin/curl -v localhost:8080/test -H 'Content-Type:application/x-www-form-urlencoded' -d 'bool=1&int=123&float=3.14&string=hello'
  48. cmd="bin/curl -v localhost:8080/test -H 'Content-Type:application/json' -d '{\"bool\":true,\"int\":123,\"float\":3.14,\"string\":\"hello\"}'" && echo_cmd
  49. bin/curl -v localhost:8080/test -H 'Content-Type:application/json' -d '{"bool":true,"int":123,"float":3.14,"string":"hello"}'
  50. cmd="bin/curl -v localhost:8080/test -F 'bool=1 int=123 float=3.14 string=hello'" && echo_cmd
  51. bin/curl -v localhost:8080/test -F 'bool=1 int=123 float=3.14 string=hello'
  52. # RESTful API: /group/:group_name/user/:user_id
  53. cmd="bin/curl -v -X DELETE localhost:8080/group/test/user/123" && run_cmd
  54. # show log
  55. cmd="tail -n 100 logs/httpd*.log" && run_cmd