diff --git a/cmd/status-backend/main.go b/cmd/status-backend/main.go index 96039490a..554747289 100644 --- a/cmd/status-backend/main.go +++ b/cmd/status-backend/main.go @@ -5,7 +5,7 @@ import ( "github.com/ethereum/go-ethereum/log" - "github.com/status-im/status-go/cmd/statusd/server" + "github.com/status-im/status-go/cmd/status-backend/server" ) var ( @@ -14,6 +14,8 @@ var ( ) func main() { + flag.Parse() + srv := server.NewServer() srv.Setup() diff --git a/cmd/statusd/server/endpoints.go b/cmd/status-backend/server/endpoints.go similarity index 100% rename from cmd/statusd/server/endpoints.go rename to cmd/status-backend/server/endpoints.go diff --git a/cmd/statusd/server/parse-api/endpoints_template.txt b/cmd/status-backend/server/parse-api/endpoints_template.txt similarity index 100% rename from cmd/statusd/server/parse-api/endpoints_template.txt rename to cmd/status-backend/server/parse-api/endpoints_template.txt diff --git a/cmd/statusd/server/parse-api/main.go b/cmd/status-backend/server/parse-api/main.go similarity index 91% rename from cmd/statusd/server/parse-api/main.go rename to cmd/status-backend/server/parse-api/main.go index cf8256969..b10a7cb24 100644 --- a/cmd/statusd/server/parse-api/main.go +++ b/cmd/status-backend/server/parse-api/main.go @@ -1,5 +1,14 @@ //go:generate go run main.go +/* +This script generates a Go file with a list of supported endpoints based on the public functions in `mobile/status.go`. +The output has 3 sections: +- Endpoints with a response of type `string` +- Endpoints with no arguments and a response of type `string` +- Unsupported endpoints: those have non-standard signatures +Deprecated functions are ignored. +*/ + package main import ( diff --git a/cmd/statusd/server/signals_server.go b/cmd/status-backend/server/signals_server.go similarity index 95% rename from cmd/statusd/server/signals_server.go rename to cmd/status-backend/server/signals_server.go index f57e46578..1d9a4c58b 100644 --- a/cmd/statusd/server/signals_server.go +++ b/cmd/status-backend/server/signals_server.go @@ -2,7 +2,6 @@ package server import ( "context" - "errors" "io" "net" "net/http" @@ -14,6 +13,7 @@ import ( "github.com/ethereum/go-ethereum/log" + "github.com/pkg/errors" "github.com/status-im/status-go/signal" ) @@ -65,6 +65,11 @@ func (s *Server) Listen(address string) error { return errors.New("server already started") } + _, _, err := net.SplitHostPort(address) + if err != nil { + return errors.Wrap(err, "invalid address") + } + s.server = &http.Server{ Addr: address, ReadHeaderTimeout: 5 * time.Second, @@ -74,7 +79,6 @@ func (s *Server) Listen(address string) error { s.mux.HandleFunc("/signals", s.signals) s.server.Handler = s.mux - var err error s.listener, err = net.Listen("tcp", address) if err != nil { return err @@ -140,6 +144,7 @@ func (s *Server) addEndpointWithResponse(name string, handler func(string) strin response := handler(string(request)) + w.Header().Set("Content-Type", "application/json") _, err = w.Write([]byte(response)) if err != nil { log.Error("failed to write response: %w", err) diff --git a/cmd/statusd/server/signals_server_test.go b/cmd/status-backend/server/signals_server_test.go similarity index 100% rename from cmd/statusd/server/signals_server_test.go rename to cmd/status-backend/server/signals_server_test.go diff --git a/cmd/statusd/main.go b/cmd/statusd/main.go index fe50b6c01..e5587c03c 100644 --- a/cmd/statusd/main.go +++ b/cmd/statusd/main.go @@ -23,7 +23,7 @@ import ( "github.com/status-im/status-go/api" "github.com/status-im/status-go/appdatabase" - "github.com/status-im/status-go/cmd/statusd/server" + "github.com/status-im/status-go/cmd/status-backend/server" "github.com/status-im/status-go/common/dbsetup" gethbridge "github.com/status-im/status-go/eth-node/bridge/geth" "github.com/status-im/status-go/eth-node/crypto"