diff --git a/cmd/api-server/main.go b/cmd/api-server/main.go index 01548f3..9916e3c 100644 --- a/cmd/api-server/main.go +++ b/cmd/api-server/main.go @@ -8,13 +8,38 @@ import ( ) type ApiResponse struct { - Version int `json:"version"` - Path string `json:"path"` + Method string `json:"method"` + Url string `json:"url"` + Proto string `json:"proto"` + Header map[string]string `json:"header"` + Host string `json:"host"` + RemoteAddr string `json:"remoteAddr"` + Form map[string]string `json:"form"` } func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { - resp := ApiResponse{Path: "/v1", Version: 1} + var resp ApiResponse + + resp.Method = r.Method + resp.Url = r.URL.String() + resp.Proto = r.Proto + resp.Header = make(map[string]string) + resp.Host = r.Host + resp.RemoteAddr = r.RemoteAddr + resp.Form = make(map[string]string) + + for k, v := range r.Header { + resp.Header[k] = v[0] + } + + if err := r.ParseForm(); err == nil { + for k, v := range r.Form { + resp.Form[k] = v[0] + } + } else { + log.Print(err) + } b, err := json.Marshal(resp) if err != nil {