main.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package main
  2. import (
  3. "fmt"
  4. "net/http"
  5. "os"
  6. "strconv"
  7. "strings"
  8. )
  9. func main() {
  10. serverPort := 12345
  11. if len(os.Args) > 1 {
  12. for k, v := range os.Args {
  13. if k == 0 {
  14. continue
  15. }
  16. arg := strings.TrimSpace(v)
  17. hasPortL := strings.HasPrefix(arg, "--port=")
  18. hasPortS := strings.HasPrefix(arg, "-p=")
  19. if hasPortL {
  20. i, err := strconv.ParseInt(strings.ReplaceAll(arg, "--port=", ""), 10, 32)
  21. if err == nil {
  22. serverPort = int(i)
  23. break
  24. }
  25. }
  26. if hasPortS {
  27. i, err := strconv.ParseInt(strings.ReplaceAll(arg, "-p=", ""), 10, 32)
  28. if err == nil {
  29. serverPort = int(i)
  30. break
  31. }
  32. }
  33. }
  34. }
  35. http.HandleFunc("/", indexHandler)
  36. http.HandleFunc("/jrebel/leases", jrebelLeasesHandler)
  37. http.HandleFunc("/jrebel/leases/1", jrebelLeases1Handler)
  38. http.HandleFunc("/agent/leases", jrebelLeasesHandler)
  39. http.HandleFunc("/agent/leases/1", jrebelLeases1Handler)
  40. http.HandleFunc("/jrebel/validate-connection", jrebelValidateHandler)
  41. http.HandleFunc("/rpc/ping.action", pingHandler)
  42. http.HandleFunc("/rpc/obtainTicket.action", obtainTicketHandler)
  43. http.HandleFunc("/rpc/releaseTicket.action", releaseTicketHandler)
  44. fmt.Printf("start server with port = %d\n", serverPort)
  45. _ = http.ListenAndServe(":"+strconv.Itoa(serverPort), nil)
  46. }