diff --git a/gee-cache/day3-http-server/geecache/http.go b/gee-cache/day3-http-server/geecache/http.go index b9b994e..5437610 100644 --- a/gee-cache/day3-http-server/geecache/http.go +++ b/gee-cache/day3-http-server/geecache/http.go @@ -58,5 +58,8 @@ func (p *HTTPPool) ServeHTTP(w http.ResponseWriter, r *http.Request) { } w.Header().Set("Content-Type", "application/octet-stream") - w.Write(view.ByteSlice()) + _, err = w.Write(view.ByteSlice()) + if err != nil { + return + } } diff --git a/gee-web/day2-context/gee/context.go b/gee-web/day2-context/gee/context.go index 72a7fe7..c2537fb 100644 --- a/gee-web/day2-context/gee/context.go +++ b/gee-web/day2-context/gee/context.go @@ -56,8 +56,9 @@ func (c *Context) JSON(code int, obj interface{}) { c.Status(code) encoder := json.NewEncoder(c.Writer) if err := encoder.Encode(obj); err != nil { - http.Error(c.Writer, err.Error(), 500) + panic(err) } + return } func (c *Context) Data(code int, data []byte) { diff --git a/gee-web/day5-middleware/gee/context.go b/gee-web/day5-middleware/gee/context.go index 1885e0c..5fb87b5 100644 --- a/gee-web/day5-middleware/gee/context.go +++ b/gee-web/day5-middleware/gee/context.go @@ -42,8 +42,10 @@ func (c *Context) Next() { } func (c *Context) Fail(code int, err string) { - c.index = len(c.handlers) - c.JSON(code, H{"message": err}) + if c == nil { + c.index = len(c.handlers) + c.JSON(code, H{"message": err}) + } } func (c *Context) Param(key string) string {