public static SwaggerRouteBuilder AddCustomSwaggerRoute(this HttpConfiguration httpConfig, ODataRoute oDataRoute, string routeTemplate) { Contract.Requires(httpConfig != null); Contract.Requires(oDataRoute != null); Contract.Requires(httpConfig.Properties != null); Contract.Ensures(Contract.Result<SwaggerRouteBuilder>() != null); oDataRoute.SetHttpConfiguration(httpConfig); var urlDecodedTemplate = HttpUtility.UrlDecode(routeTemplate); Contract.Assume(!string.IsNullOrWhiteSpace(urlDecodedTemplate)); var swaggerRoute = new SwaggerRoute(urlDecodedTemplate, oDataRoute); var swaggerRouteBuilder = new SwaggerRouteBuilder(swaggerRoute); httpConfig.Properties.AddOrUpdate(oDataRoute, key => new List<SwaggerRoute> { swaggerRoute }, (key, value) => { var swaggerRoutes = value as List<SwaggerRoute>; swaggerRoutes.Add(swaggerRoute); return swaggerRoutes; }); return swaggerRouteBuilder; }
internal OperationBuilder(Operation operation, SwaggerRouteBuilder swaggerRouteBuilder) { _operation = operation; _swaggerRouteBuilder = swaggerRouteBuilder; }
public OperationBuilder(Operation operation, SwaggerRouteBuilder swaggerRouteBuilder) { _operation = operation; _swaggerRouteBuilder = swaggerRouteBuilder; }