Skip to content

wlua is a web framework for Lua that is as simple as it is powerful. Just a toy :)

License

Notifications You must be signed in to change notification settings

hanxi/wlua

Repository files navigation

wlua

GitHub actionsGitHub releaselicense

中文English

wlua is a web framework for Lua that is as simple as it is powerful.

localwlua=require"wlua"localapp=wlua:default() app:get("/", function (c) c:send("Hello wlua!") end) app:run()

Installation

Dependent library

Build skynet need gcc 4.9+ .

Then install use this commond:

git clone https://github.com/hanxi/wlua cd wlua sudo make install

WLUA_HOME and WLUA_BIN are supported by Makefile, so the following command could be used to customize installation, default WLUA_HOME is /usr/local/wlua and WLUA_BIN is /usr/local/bin/wlua :

make install WLUA_HOME=/usr/local/wlua WLUA_BIN=/usr/local/bin/wlua

So, need /usr/local/bin in $PATH .

Features

  • Routing use lua-rax
  • Middleware support
  • Group router support
  • Easy to build HTTP APIs, web site, or single page applications

Quick Start

A quick way to get started with wlua is to utilize the executable cli tool wlua to generate an scaffold application.

wlua commond is installed with wlua framework. it looks like:

$ wlua help wlua 0.0.2, a web framework for Lua that is as simple as it is powerful. Usage: wlua COMMAND [OPTIONS] Commands: new <name> Create a new application start Start the server stop Stop the server reload Reload the server version Show version of wlua help Show help tips

Create app:

$ wlua new wlua_demo

Start server:

$ cd wlua_demo $ wlua start 

Visit http://localhost:8081 . Or use curl test:

curl -i http://localhost:8081

API Examples

More examples in wlua-examples

Using GET, POST, PUT, PATCH, DELETE and OPTIONS

localwlua=require"wlua"-- Creates a wlua router with default logger middleware.localapp=wlua:default() app:get("/someget", function (c) c:send("someget") end) app:post("/somepost", function (c) c:send("somepost") end) app:put("/someput", function (c) c:send("someput") end) app:delete("/somedelete", function (c) c:send("somedelete") end) app:patch("/somepatch", function (c) c:send("somepatch") end) app:head("/somehead", function (c) c:send("somehead") end) app:options("/someoptions", function (c) c:send("someoptions") end) -- By default it serves on :8081app:run()

Parameters in path

Querystring parameters

Urlencoded Form

Another example: query + post form

Post JSON

Upload files

Grouping routes

Blank Wlua without middleware by default

Using middleware

JSON rendering

Serving static files

Serving data from file

Custom Middleware

Graceful shutdown or reload

Set and get a cookie

origin skynet service

use skynet service_provider create uniqservice

timer task

Other

About

wlua is a web framework for Lua that is as simple as it is powerful. Just a toy :)

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 2

  •  
  •