Skip to content

simple openresty/lua library to auto parse parameters

License

Notifications You must be signed in to change notification settings

xiepeiyang/xschema

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

parse openresty request data with simple rules.

Example 1

local xschema = require "xschema"

local Req = {
    page       = xschema.Number({default = 1, min = 1}),
    pagesize   = xschema.Number({default = 10, min = 5, max = 50}),
    keyword    = xschema.String({nonil = true})
}

local req, err = xschema.HttpParse(Req, ngx.req)
print(req.keyword)

Example 2

local Req = {
    userid    = xschema.Number({nonil = true}),
    imgs      = xschema.Array({
                    url  = xschema.String({nonil = true}),
                    size = xschema.Number({nonil = true, min = 1})
                })
}

local req, err = xschema.HttpParse(Req, ngx.req)
print(req.userid)

Example 3

local Req = {
    types     = xschema.Number({default = 0, must_in = {0, 2, 4, 6}}),
    ids       = xschema.Array('number')    -- number array
}

Rules

  • HTTP/GET or HTTP/POST(json)
  • support types: Boolen, String, Number, Array
  • check rules: nonil, default, min, max, must_in, htmlescape, isnumber

feel free to add more rules in source file

About

simple openresty/lua library to auto parse parameters

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages