1
0
mirror of https://github.com/aclindsa/moneygo.git synced 2024-10-31 16:00:05 -04:00
moneygo/internal/handlers/util.go

36 lines
608 B
Go
Raw Normal View History

package handlers
2015-06-25 22:36:58 -04:00
import (
"encoding/json"
2015-06-25 22:36:58 -04:00
"fmt"
"io"
"io/ioutil"
2015-06-25 22:36:58 -04:00
"net/http"
)
func ReadJSON(r *http.Request, v interface{}) error {
jsonstring, err := ioutil.ReadAll(io.LimitReader(r.Body, 10*1024*1024 /*10Mb*/))
if err != nil {
return err
}
return json.Unmarshal(jsonstring, v)
}
type ResponseWrapper struct {
Code int
Writer ResponseWriterWriter
}
func (r ResponseWrapper) Write(w http.ResponseWriter) error {
w.WriteHeader(r.Code)
return r.Writer.Write(w)
}
type SuccessWriter struct{}
func (s SuccessWriter) Write(w http.ResponseWriter) error {
fmt.Fprint(w, "{}")
return nil
}