• nginx 变量 + lua


    nginx变量使用方法详解(8)

    nil、null与ngx.null

     

     

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

    nginx是个好东西, nginx的openrtsy发行版本更是个好东西。

    今天又发现个好东西 :Moochine

    MOOCHINE - 一个简单的轻量级的web framework, 基于ngx_OpenResty(ngx_lua,ttp://openresty.org) 做的框架,

    使用例子  https://github.com/appwilldev/moochine-demo

    可以让我们构建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

  • 相关阅读:
    MySQL —— 程序连接时的驱动名称和URL
    这该称作什么效应?
    Java 基础 面向对象之关键字内部类代码块修饰符
    Java 基础 面向对象之构造方法和关键字
    Java 基础 接口和多态
    Java 基础 面向对象和抽象类
    Java 基础 引用数据类型 ArrayList集合
    Java 基础 方法
    Java 基础 引用数据类型 和 流程控制
    Mongodb 基础 复制集原理和搭建
  • 原文地址:https://www.cnblogs.com/robinunix/p/7867941.html
Copyright © 2020-2023  润新知