| 3103 | } |
| 3104 | |
| 3105 | func defaultErrorHandler(ctx *RequestCtx, err error) { |
| 3106 | if _, ok := err.(*ErrSmallBuffer); ok { |
| 3107 | ctx.Error("Too big request header", StatusRequestHeaderFieldsTooLarge) |
| 3108 | } else if netErr, ok := err.(*net.OpError); ok && netErr.Timeout() { |
| 3109 | ctx.Error("Request timeout", StatusRequestTimeout) |
| 3110 | } else { |
| 3111 | ctx.Error("Error when parsing request", StatusBadRequest) |
| 3112 | } |
| 3113 | } |
| 3114 | |
| 3115 | func (s *Server) writeErrorResponse(bw *bufio.Writer, ctx *RequestCtx, serverName string, err error) *bufio.Writer { |
| 3116 | errorHandler := defaultErrorHandler |