• 发现一个nginx LUA开发Web App的框架


    nginx是个好东西, nginx的openrtsy发行版本更是个好东西。
    
    今天又发现个好东西 :Moochine
    
    
     
    
    MOOCHINE - 一个简单的轻量级的web framework, 基于ngx_OpenResty(ngx_lua,ttp://openresty.org) 做的框架,
    
    使用例子  https://github.com/appwilldev/moochine-demo
    
     
    
    项目地址:https://github.com/appwilldev/moochine
    
     
     
    
     
    
     
    
    可以让我们构建WebApp 更加的简单,具体使用方法请看具体的 moochine-demo
    
    request对象的属性和方法
    
    
     
    
     
    
     
    
    --属性
    method          = ngx.var.request_method    -- http://wiki.nginx.org/HttpCoreModule#.24request_method
    schema          = ngx.var.schema            -- http://wiki.nginx.org/HttpCoreModule#.24scheme
    host            = ngx.var.host              -- http://wiki.nginx.org/HttpCoreModule#.24host
    hostname        = ngx.var.hostname          -- http://wiki.nginx.org/HttpCoreModule#.24hostname
    uri             = ngx.var.request_uri       -- http://wiki.nginx.org/HttpCoreModule#.24request_uri
    path            = ngx.var.uri               -- http://wiki.nginx.org/HttpCoreModule#.24uri
    filename        = ngx.var.request_filename  -- http://wiki.nginx.org/HttpCoreModule#.24request_filename
    query_string    = ngx.var.query_string      -- http://wiki.nginx.org/HttpCoreModule#.24query_string
    user_agent      = ngx.var.http_user_agent   -- http://wiki.nginx.org/HttpCoreModule#.24http_HEADER
    remote_addr     = ngx.var.remote_addr       -- http://wiki.nginx.org/HttpCoreModule#.24remote_addr
    remote_port     = ngx.var.remote_port       -- http://wiki.nginx.org/HttpCoreModule#.24remote_port
    remote_user     = ngx.var.remote_user       -- http://wiki.nginx.org/HttpCoreModule#.24remote_user
    remote_passwd   = ngx.var.remote_passwd     -- http://wiki.nginx.org/HttpCoreModule#.24remote_passwd
    content_type    = ngx.var.content_type      -- http://wiki.nginx.org/HttpCoreModule#.24content_type
    content_length  = ngx.var.content_length    -- http://wiki.nginx.org/HttpCoreModule#.24content_length
    
    headers         = ngx.req.get_headers()     -- http://wiki.nginx.org/HttpLuaModule#ngx.req.get_headers
    uri_args        = ngx.req.get_uri_args()    -- http://wiki.nginx.org/HttpLuaModule#ngx.req.get_uri_args
    post_args       = ngx.req.get_post_args()   -- http://wiki.nginx.org/HttpLuaModule#ngx.req.get_post_args
    socket          = ngx.req.socket            -- http://wiki.nginx.org/HttpLuaModule#ngx.req.socket
    
    --方法
    request:read_body()                         -- http://wiki.nginx.org/HttpLuaModule#ngx.req.read_body
    request:get_uri_arg(name, default)
    request:get_post_arg(name, default)
    request:get_arg(name, default)
    
    request:get_cookie(key, decrypt)
    request:rewrite(uri, jump)                  -- http://wiki.nginx.org/HttpLuaModule#ngx.req.set_uri
    request:set_uri_args(args)                  -- http://wiki.nginx.org/HttpLuaModule#ngx.req.set_uri_args
     
    
     
    
    response对象的属性和方法
    
    --属性
    headers         = ngx.header                -- http://wiki.nginx.org/HttpLuaModule#ngx.header.HEADER
    
    --方法
    response:set_cookie(key, value, encrypt, duration, path)
    response:write(content)
    response:writeln(content)
    response:ltp(template,data)
    response:redirect(url, status)              -- http://wiki.nginx.org/HttpLuaModule#ngx.redirect
    
    response:finish()                           -- http://wiki.nginx.org/HttpLuaModule#ngx.eof
    response:is_finished()
    response:defer(func, ...)                   -- 在response返回后执行
     
    
    支持 Multi-App 与 Sub-App
  • 相关阅读:
    ssrf简介
    Mysql 命令 load data infile
    基于约束的SQL注入笔记
    ms17-010
    thinkphp5.0&5.1命令执行 和 thinkphp3.2.3sql注入
    抓取分析菜刀流量
    lamp环境的搭建
    php伪协议
    LeetCode-336 Palindrome Pairs
    LeetCode-335 Self Crossing
  • 原文地址:https://www.cnblogs.com/archoncap/p/5239692.html
Copyright © 2020-2023  润新知