zoukankan      html  css  js  c++  java
  • 发现一个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
  • 相关阅读:
    4 Apr 18 软件开发目录 logging模块的使用 序列化(Json, Pickle) os模块
    3 Apr 18 内置函数 列表生成式与生成器表达式 模块的使用之import 模块的使用之from…import…
    2 Apr 18 三元表达式 函数递归 匿名函数 内置函数
    30 Mar 18 迭代器 生成器 面向过程的编程
    29 Mar 18 函数 有参、无参装饰器
    28 Mar 18 函数
    27 Mar 18 函数的参数
    26 Mar 18 函数介绍
    23 Mar 18 文件处理
    22 Mar 18 补充数据类型+字符编码+文件处理
  • 原文地址:https://www.cnblogs.com/archoncap/p/5239692.html
Copyright © 2011-2022 走看看