internal static Response ToResponse( IObjectResponse objectResponse, Request request, MediaTypeMapper mediaTypeMapper, IErrorHandler errorHandler, ILogger logger) => Success.Of <Exception, Response>(objectResponse.ResponseFrom(request, mediaTypeMapper)) .Resolve( ex => ResourceErrorProcessor.ResourceHandlerError(errorHandler, logger, ex), response => response);
public RequestHandler5 <T, R, U, I, J> Body <J>(MediaTypeMapper mediaTypeMapper) => new RequestHandler5 <T, R, U, I, J>( Method, Path, ResolverParam1, ResolverParam2, ResolverParam3, ResolverParam4, ParameterResolver.Body <J>(mediaTypeMapper), ErrorHandler, mediaTypeMapper);
public RequestHandler2 <T, R> Body <R>(MediaTypeMapper mediaTypeMapper) { MediaTypeMapper = mediaTypeMapper; return(new RequestHandler2 <T, R>( Method, Path, Resolver, ParameterResolver.Body <R>(mediaTypeMapper), ErrorHandler, mediaTypeMapper)); }
public Response ResponseFrom(Request request, MediaTypeMapper mapper) { var acceptedMediaTypes = request.HeaderValueOr(RequestHeader.Accept, DefaultMediaType.ToString()); var responseMediaTypeSelector = new ResponseMediaTypeSelector(acceptedMediaTypes); var responseContentMediaType = responseMediaTypeSelector.SelectType(mapper.MappedMediaTypes); var bodyContent = mapper.From(_entity, responseContentMediaType); var body = Body.From(bodyContent); _headers.Add(ResponseHeader.Of(ResponseHeader.ContentType, responseContentMediaType.ToString())); return(Response.Of(_version, _status, _headers, body)); }
internal RequestHandler1( Method method, string path, ParameterResolver <T> resolver, IErrorHandler errorHandler, MediaTypeMapper mediaTypeMapper) : base(method, path, new List <IParameterResolver> { resolver }, errorHandler, mediaTypeMapper) { Resolver = resolver; }
public RequestHandler3 <T, R, U> Body <U>(MediaTypeMapper mediaTypeMapper) { MediaTypeMapper = mediaTypeMapper; return(new RequestHandler3 <T, R, U>( Method, Path, ResolverParam1, ResolverParam2, ParameterResolver.Body <U>(mediaTypeMapper), ErrorHandler, MediaTypeMapper)); }
internal RequestHandler( Method method, string path, IList <IParameterResolver> parameterResolvers, IErrorHandler errorHandler, MediaTypeMapper mediaTypeMapper) { Method = method; Path = path; ActionSignature = GenerateActionSignature(parameterResolvers); ErrorHandler = errorHandler; MediaTypeMapper = mediaTypeMapper; }
internal RequestHandler2( Method method, string path, ParameterResolver <T> resolverParam1, ParameterResolver <R> resolverParam2, IErrorHandler errorHandler, MediaTypeMapper mediaTypeMapper) : base(method, path, new List <IParameterResolver> { resolverParam1, resolverParam2 }, errorHandler, mediaTypeMapper) { ResolverParam1 = resolverParam1; ResolverParam2 = resolverParam2; }
internal RequestHandler( Method method, string path, IList <IParameterResolver> parameterResolvers, IErrorHandler errorHandler, MediaTypeMapper mediaTypeMapper) { Method = method; Path = path; ActionSignature = GenerateActionSignature(parameterResolvers); ContentSignature = DetectRequestBodyType(parameterResolvers).Map(p => p?.Name !).OrElse(null !); BodyType = DetectRequestBodyType(parameterResolvers).OrElse(null !); ErrorHandler = errorHandler; MediaTypeMapper = mediaTypeMapper; }
internal static ICompletes <Response> ExecuteRequest( Request request, MediaTypeMapper mediaTypeMapper, Func <ICompletes <IObjectResponse> > executeAction, IErrorHandler errorHandler, ILogger logger) { try { return(executeAction.Invoke() .AndThen(objectResponse => ToResponse(objectResponse, request, mediaTypeMapper, errorHandler, logger))); } catch (Exception ex) { return(Completes.WithFailure(ResourceErrorProcessor.ResourceHandlerError(errorHandler, logger, ex))); } }
internal RequestHandler5( Method method, string path, ParameterResolver <T> resolverParam1, ParameterResolver <R> resolverParam2, ParameterResolver <U> resolverParam3, ParameterResolver <I> resolverParam4, ParameterResolver <J> resolverParam5, IErrorHandler errorHandler, MediaTypeMapper mediaTypeMapper) : base(method, path, new List <IParameterResolver> { resolverParam1, resolverParam2, resolverParam3, resolverParam4, resolverParam5 }, errorHandler, mediaTypeMapper) { ResolverParam1 = resolverParam1; ResolverParam2 = resolverParam2; ResolverParam3 = resolverParam3; ResolverParam4 = resolverParam4; ResolverParam5 = resolverParam5; }
public RequestHandler0?Mapper(MediaTypeMapper mediaTypeMapper) { MediaTypeMapper = mediaTypeMapper; return(this); }