github.com/0chain/gosdk@v1.17.11/dev/mock/response.go (about) 1 package mock 2 3 import "net/http" 4 5 type ResponseMap map[string]Response 6 7 type Response struct { 8 StatusCode int 9 Body []byte 10 } 11 12 // WithResponse mock respone 13 func WithResponse(m ResponseMap) func(w http.ResponseWriter, r *http.Request) { 14 return func(w http.ResponseWriter, r *http.Request) { 15 defer w.Header().Set("Content-Type", "application/json") 16 17 if m != nil { 18 key := r.Method + ":" + r.URL.Path 19 resp, ok := m[key] 20 21 if ok { 22 23 w.WriteHeader(resp.StatusCode) 24 if resp.Body != nil { 25 w.Write(resp.Body) //nolint: errcheck 26 } 27 28 return 29 } 30 } 31 32 w.WriteHeader(http.StatusNotFound) 33 } 34 }