reset on error in proxy example.

This commit is contained in:
Steven Allen
2017-09-13 15:51:05 -07:00
parent 925ac42502
commit d2dd60a285

View File

@@ -109,6 +109,7 @@ func streamHandler(stream inet.Stream) {
// Read the HTTP request from the buffer // Read the HTTP request from the buffer
req, err := http.ReadRequest(buf) req, err := http.ReadRequest(buf)
if err != nil { if err != nil {
stream.Reset()
log.Println(err) log.Println(err)
return return
} }
@@ -132,6 +133,7 @@ func streamHandler(stream inet.Stream) {
fmt.Printf("Making request to %s\n", req.URL) fmt.Printf("Making request to %s\n", req.URL)
resp, err := http.DefaultTransport.RoundTrip(outreq) resp, err := http.DefaultTransport.RoundTrip(outreq)
if err != nil { if err != nil {
stream.Reset()
log.Println(err) log.Println(err)
return return
} }
@@ -176,6 +178,7 @@ func (p *ProxyService) ServeHTTP(w http.ResponseWriter, r *http.Request) {
// r.Write() writes the HTTP request to the stream. // r.Write() writes the HTTP request to the stream.
err = r.Write(stream) err = r.Write(stream)
if err != nil { if err != nil {
stream.Reset()
log.Println(err) log.Println(err)
http.Error(w, err.Error(), http.StatusServiceUnavailable) http.Error(w, err.Error(), http.StatusServiceUnavailable)
return return
@@ -186,6 +189,7 @@ func (p *ProxyService) ServeHTTP(w http.ResponseWriter, r *http.Request) {
buf := bufio.NewReader(stream) buf := bufio.NewReader(stream)
resp, err := http.ReadResponse(buf, r) resp, err := http.ReadResponse(buf, r)
if err != nil { if err != nil {
stream.Reset()
log.Println(err) log.Println(err)
http.Error(w, err.Error(), http.StatusServiceUnavailable) http.Error(w, err.Error(), http.StatusServiceUnavailable)
return return