When an exception(example: OperationCanceledException) occurs in a message handler, we do not convert it to a safe http response message at the HttpServer level. By 'safe', I mean to HttpResponseMessage with 500 Internal Server Error. However, we are doing this in Self host case.
Code of interest in HttpControllerHandler:
```
public override Task ProcessRequestAsync(HttpContext context)
{
return ProcessRequestAsyncCore(new HttpContextWrapper(context));
}
internal async Task ProcessRequestAsyncCore(HttpContextBase contextBase)
{
HttpRequestMessage request = contextBase.GetHttpRequestMessage() ?? ConvertRequest(contextBase);
// Add route data
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = _routeData;
HttpResponseMessage response = await _server.SendAsync(request, contextBase.Request.TimedOutToken);
await ConvertResponse(contextBase, response, request);
}
```
Code of interest in HttpControllerHandler:
```
public override Task ProcessRequestAsync(HttpContext context)
{
return ProcessRequestAsyncCore(new HttpContextWrapper(context));
}
internal async Task ProcessRequestAsyncCore(HttpContextBase contextBase)
{
HttpRequestMessage request = contextBase.GetHttpRequestMessage() ?? ConvertRequest(contextBase);
// Add route data
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = _routeData;
HttpResponseMessage response = await _server.SendAsync(request, contextBase.Request.TimedOutToken);
await ConvertResponse(contextBase, response, request);
}
```