Пример #1
0
        public override void Register()
        {
            var auth = new BasicAuthorizer();

            RegisterInterceptor("", IncrementNumberOfCallsAsync);

            RegisterRouteWithAuth("get", "/dummies", auth.Anybody(),
                                  async(request, response, user, routeData) =>
            {
                await _operations.GetPageByFilterAsync(request, response, user, routeData);
            });

            RegisterRouteWithAuth("get", "/dummies/{id}", auth.Anybody(),
                                  async(request, response, user, routeData) =>
            {
                await _operations.GetByIdAsync(request, response, user, routeData);
            });

            RegisterRouteWithAuth("post", "/dummies", auth.Anybody(),
                                  async(request, response, user, routeData) =>
            {
                await _operations.CreateAsync(request, response, user, routeData);
            });

            RegisterRouteWithAuth("post", "/dummies/file", auth.Anybody(),
                                  async(request, response, user, routeData) =>
            {
                await _operations.CreateFromFileAsync(request, response, user, routeData);
            });

            RegisterRouteWithAuth("put", "/dummies", auth.Anybody(),
                                  async(request, response, user, routeData) =>
            {
                await _operations.UpdateAsync(request, response, user, routeData);
            });

            RegisterRouteWithAuth("put", "/dummies/{id}", auth.Anybody(),
                                  async(request, response, user, routeData) =>
            {
                await _operations.UpdateAsync(request, response, user, routeData);
            });

            RegisterRouteWithAuth("delete", "/dummies/{id}", auth.Anybody(),
                                  async(request, response, user, routeData) =>
            {
                await _operations.DeleteByIdAsync(request, response, user, routeData);
            });
        }
Пример #2
0
        public override void Register()
        {
            var auth = new BasicAuthorizer();

            RegisterInterceptor("", IncrementNumberOfCallsAsync);

            var tags   = new[] { "Dummy" };
            var schema = new DummySchema();

            RegisterRouteWithAuthAndMetadata("get", "/dummies", auth.Anybody(), _operations.GetPageByFilterAsync, new RestRouteMetadata()
                                             .SetsTags(tags)
                                             .UsesBearerAuthentication()
                                             .ReceivesCorrelationIdParam()
                                             .ReceivesOptionalQueryParam("filter", TypeCode.Object)
                                             .ReceivesOptionalQueryParam("paging", TypeCode.Object)
                                             .SendsDataPage200(schema)
                                             );

            RegisterRouteWithAuthAndMetadata("get", "/dummies/{id}", auth.Anybody(), _operations.GetByIdAsync, new RestRouteMetadata()
                                             .SetsTags(tags)
                                             .ReceivesCorrelationIdParam()
                                             .SendsData200(schema)
                                             );

            RegisterRouteWithAuthAndMetadata("post", "/dummies", auth.Anybody(), _operations.CreateAsync, new RestRouteMetadata()
                                             .SetsTags(tags)
                                             .ReceivesCorrelationIdParam()
                                             .ReceivesBodyFromSchema(schema)
                                             .SendsData200(schema)
                                             .SendsData400()
                                             );

            RegisterRouteWithAuthAndMetadata("post", "/dummies/file", auth.Anybody(), _operations.CreateFromFileAsync, new RestRouteMetadata()
                                             .SetsTags(tags)
                                             .ReceivesCorrelationIdParam()
                                             .ReceivesFile()
                                             .SendsData200(schema)
                                             .SendsData400()
                                             );

            RegisterRouteWithAuthAndMetadata("put", "/dummies", auth.Anybody(), _operations.UpdateAsync, new RestRouteMetadata()
                                             .SetsTags(tags)
                                             .ReceivesCorrelationIdParam()
                                             .ReceivesBodyFromSchema(schema)
                                             .SendsData200(schema)
                                             .SendsData400()
                                             );

            RegisterRouteWithAuthAndMetadata("put", "/dummies/{id}", auth.Anybody(), _operations.UpdateAsync, new RestRouteMetadata()
                                             .SetsTags(tags)
                                             .ReceivesCorrelationIdParam()
                                             .ReceivesBodyFromSchema(schema)
                                             .SendsData200(schema)
                                             .SendsData400()
                                             );

            RegisterRouteWithAuthAndMetadata("delete", "/dummies/{id}", auth.Anybody(), _operations.DeleteByIdAsync, new RestRouteMetadata()
                                             .SetsTags(tags)
                                             .ReceivesCorrelationIdParam()
                                             .SendsData200(schema)
                                             );

            RegisterRouteWithAuthAndMetadata("get", "/test_responses", auth.Anybody(), null, new RestRouteMetadata()
                                             .SetsTags(tags)
                                             .ReceivesCorrelationIdParam()
                                             .SendsData(110, "new DummySchema()", new DummySchema())
                                             .SendsData(111, "new ArraySchema()", new ArraySchema())
                                             .SendsData(112, "new ArraySchema(new DummySchema())", new ArraySchema(new DummySchema()))
                                             .SendsData(113, "new List< DummySchema >()", new List <DummySchema>())
                                             .SendsData(114, "new List< string >()", new List <string>())
                                             .SendsData(115, "new byte[] { }", new byte[] { })
                                             .SendsData(116, "new Dictionary< string, string >()", new Dictionary <string, string>())
                                             .SendsData(117, "new Dictionary< string, bool >()", new Dictionary <string, bool>())
                                             .SendsData(118, "TypeCode.String", TypeCode.String)
                                             );

            if (!string.IsNullOrWhiteSpace(_openApiContent))
            {
                RegisterOpenApiSpec(_openApiContent);
            }
            else if (!string.IsNullOrWhiteSpace(_openApiFile))
            {
                RegisterOpenApiSpecFromFile(_openApiFile);
            }
            else if (!string.IsNullOrWhiteSpace(_openApiResource))
            {
                RegisterOpenApiSpecFromResource(_openApiResource);
            }
            else
            {
                RegisterOpenApiSpecFromMetadata();
            }
        }