Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "time"
- "net/http"
- "encoding/json"
- "github.com/gorilla/mux"
- )
- func main() {
- // router
- router := mux.NewRouter()
- // v1 router
- v1router := router.PathPrefix("/v1").Subrouter()
- v1router.HandleFunc("/resource", createResource).Methods("GET")
- // server config
- server := &http.Server{
- Addr: ":8080",
- ReadTimeout: time.Millisecond * 500,
- WriteTimeout: time.Millisecond * 100,
- IdleTimeout: time.Millisecond * 500,
- Handler: router,
- }
- server.SetKeepAlivesEnabled(false)
- // start server
- server.ListenAndServe()
- }
- type Resource struct {
- Id string
- Name string
- }
- func createResource(response http.ResponseWriter, request *http.Request) {
- // connection header
- response.Header().Set("Connection", "close")
- defer request.Body.Close()
- // get query params
- params := request.URL.Query()
- // create resource
- resource := Resource{
- Id: "testid",
- Name: params.Get("name"),
- }
- // convert resource to string
- resourceStr, _ := json.Marshal(resource)
- response.WriteHeader(http.StatusOK)
- _, _ = response.Write([]byte(resourceStr))
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement