|  | @@ -66,13 +66,11 @@ func NewHandler(ctx context.Context, config *proxyman.OutboundHandlerConfig) (*H
 | 
											
												
													
														|  |  func (h *Handler) Dispatch(ctx context.Context, outboundRay ray.OutboundRay) {
 |  |  func (h *Handler) Dispatch(ctx context.Context, outboundRay ray.OutboundRay) {
 | 
											
												
													
														|  |  	err := h.proxy.Process(ctx, outboundRay, h)
 |  |  	err := h.proxy.Process(ctx, outboundRay, h)
 | 
											
												
													
														|  |  	// Ensure outbound ray is properly closed.
 |  |  	// Ensure outbound ray is properly closed.
 | 
											
												
													
														|  | -	if err != nil {
 |  | 
 | 
											
												
													
														|  | 
 |  | +	if err != nil && errors.Cause(err) != io.EOF {
 | 
											
												
													
														|  |  		log.Warning("Proxyman|OutboundHandler: Failed to process outbound traffic: ", err)
 |  |  		log.Warning("Proxyman|OutboundHandler: Failed to process outbound traffic: ", err)
 | 
											
												
													
														|  | -		if errors.Cause(err) != io.EOF {
 |  | 
 | 
											
												
													
														|  | -			outboundRay.OutboundOutput().CloseError()
 |  | 
 | 
											
												
													
														|  | -		} else {
 |  | 
 | 
											
												
													
														|  | -			outboundRay.OutboundOutput().Close()
 |  | 
 | 
											
												
													
														|  | -		}
 |  | 
 | 
											
												
													
														|  | 
 |  | +		outboundRay.OutboundOutput().CloseError()
 | 
											
												
													
														|  | 
 |  | +	} else {
 | 
											
												
													
														|  | 
 |  | +		outboundRay.OutboundOutput().Close()
 | 
											
												
													
														|  |  	}
 |  |  	}
 | 
											
												
													
														|  |  	outboundRay.OutboundInput().CloseError()
 |  |  	outboundRay.OutboundInput().CloseError()
 | 
											
												
													
														|  |  }
 |  |  }
 |