示例#1
0
        public PrivateModule()
            : base("private")
        {
            StatelessAuthentication.Enable(this, SimpleOAuthConfiguration.GetOAuthConfiguration());
            this.AddBeforeHookOrExecute(ctx => ctx.CurrentUser == null ? new HtmlResponse(HttpStatusCode.Unauthorized) : null);

            Get["/resource/{key}"] = _ =>
            {
                var resp = new GetRequest {
                    Route = Request.Path, User = Context.CurrentUser.UserName
                };

                this.AddQueryParams(resp);

                return(Response.AsJson(resp));
            };

            Post["/"] = _ =>
            {
                var resp = ContentRequest.Post(Request.Path, Context.CurrentUser.UserName, Request.Body.AsString());

                return(Response.AsJson(resp));
            };

            Put["/"] = _ =>
            {
                var resp = ContentRequest.Put(Request.Path, Context.CurrentUser.UserName, Request.Body.AsString());

                return(Response.AsJson(resp));
            };

            Delete["/resource/{key}"] = _ =>
            {
                var resp = new DeleteRequest {
                    Route = Request.Path, User = Context.CurrentUser.UserName
                };

                this.AddQueryParams(resp);

                return(Response.AsJson(resp));
            };
        }
示例#2
0
        public ScalarModule()
            : base("scalar")
        {
            StatelessAuthentication.Enable(this, SimpleOAuthConfiguration.GetOAuthConfiguration());

            this.AddBeforeHookOrExecute(ctx => ctx.CurrentUser == null ? new HtmlResponse(HttpStatusCode.Unauthorized) : null);

            Get["/bool/{val:bool}"] = _ =>
            {
                return(Response.AsJson((bool)_.val));
            };

            Get["/int/{val:int}"] = _ =>
            {
                return(Response.AsJson((int)_.val));
            };

            Get["/long/{val:long}"] = _ =>
            {
                return(Response.AsJson((long)_.val));
            };
        }