static Exception CreateExceptionForStatus()

in src/Microsoft.Azure.Relay/WebSocketExceptionHelper.cs [72:96]


        static Exception CreateExceptionForStatus(HttpStatusCode statusCode, string statusDescription, Exception inner, TrackingContext trackingContext, bool isListener)
        {
            if (trackingContext != null)
            {
                statusDescription = trackingContext.EnsureTrackableMessage(statusDescription);
            }

            switch (statusCode)
            {
                case HttpStatusCode.Unauthorized:
                    return new AuthorizationFailedException(statusDescription, inner);
                case HttpStatusCode.NotFound:
                    return new EndpointNotFoundException(statusDescription, inner, isTransient: !isListener);
                case HttpStatusCode.GatewayTimeout:
                case HttpStatusCode.RequestTimeout:
                    return new TimeoutException(statusCode + ": " + statusDescription, inner);
                case HttpStatusCode.BadRequest:
                case HttpStatusCode.InternalServerError:
                case HttpStatusCode.NotImplemented:
                case HttpStatusCode.BadGateway:
                case HttpStatusCode.ServiceUnavailable:
                default:
                    return new RelayException(statusCode + ": " + statusDescription, inner);
            }
        }