From 8f9f4d99ec3effe1ef4764c6057106129529d61a Mon Sep 17 00:00:00 2001 From: "rui.zheng" Date: Fri, 5 Jun 2015 17:02:08 +0800 Subject: [PATCH] fix runtime error --- http.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/http.go b/http.go index 6c82edf..f7c1ebc 100644 --- a/http.go +++ b/http.go @@ -98,6 +98,7 @@ func (conn *HttpClientConn) Write(b []byte) (n int, err error) { resp.Body.Close() if resp.StatusCode != http.StatusOK { + log.Println(resp.Status) return 0, errors.New(resp.Status) } //log.Println("http w:", len(b)) @@ -202,7 +203,7 @@ type HttpServer struct { func (s *HttpServer) s2c(w http.ResponseWriter, r *http.Request) { token := uuid.New() - ch := make(chan []byte, 1) + ch := make(chan []byte, 8) conn := NewHttpServerConn(w, ch) if _, err := conn.Write([]byte(token)); err != nil { @@ -216,6 +217,12 @@ func (s *HttpServer) s2c(w http.ResponseWriter, r *http.Request) { } func (s *HttpServer) c2s(w http.ResponseWriter, r *http.Request) { + defer func() { + if err := recover(); err != nil { + log.Println(err) + } + }() + if r.Method != "POST" { w.WriteHeader(http.StatusMethodNotAllowed) return