Introduction
Who Should Read This
Use Cases
Standalone Server
Monolithic System
Porting
Getting Started
Examples
Constructing Server
C code
Enabling Lua
LSP & CSP Intro
Mgmt with LSP & CSP
Using CSP
Using LSP
Virtual File System
Directory
Resource Reader
Web File Server
WebDAV
Constructing VFS
Hidden Files
Authentication
Basic & Digest
Form
Authenticator Types
Security Realms
Tracking Logins
Authorizing
Lua and C/C++ API's
Lua
Overview
LSP
HTTP Directories
Command Environment
Threads and Coroutines
Authorizing Users
The Authenticator Types
Encrypted Passwords
Custom Response Handler
Authentication Examples
Download Examples
Form Response Handler
No SSL and form auth
Force Secure Connection
External Links
APIs
ba
Encode/Decode
aesencode
aesdecode
aeskey
b64decode
b64encode
b64urlencode
urlencode
urldecode
deflate
clock
cmpaddr
create
authenticator
authorizer
authuser
jsonuser
dav
dir
domainresrdr
wfs
resrdr
upload
exec
loadfile
mime
DateTime
io
openio
mkio
mallinfo
parsedate
parselsp
rndseed
rnd
rnds
rndbs
session
sessions
sleep
seterrh
timer
tracker
successful
attempted
clearcache
setlogh
users
version
request
Example
abort
allow
certificate
cipher
checktime
cookie
env
data
datapairs
domain
header
issecure
login
logout
method
multipart
peername
rawrdr
setnodelay
sockname
uri
url
user
response
bytecount
clearkeepalive
containsheader
createcookie
deferred
downgrade
encoderedirecturl
encodeurl
flush
forward
include
committed
initial
isforward
isinclude
getdata
getstatus
json
redirect
redirect2tls
reset
send
senderror
sendredirect
setcontentlength
setbasic
setdigest
setcontenttype
setdateheader
setdefaultheaders
setheader
setmaxage
setresponse
setstatus
write
writesize
activate
delete
comment
maxage
name
path
secure
httponly
value
attributes
id
creationtime
lastaccessedtime
maxinactiveinterval
usecounter
terminate
onterminate
lock
release
IO interface
io:open
io:resourcetype
io:type
io:files
io:stat
io:realpath
io:mkdir
io:rmdir
io:remove
io:rename
io:loadfile
io:dofile
io:hide
io:setpasswd
io:reqpasswd
io:encrypted
io:netconf
IO Error Codes
Auth Objects
Authenticator User Object
Authenticator Object
Authorizer Object
JSON Authorizer Object
HTTP directory
baseuri
insert
p403
service
setauth
setfunc
unlink
globals
print
trace
encode
decode
encodestr
null
parser
JSONS
Auxiliary APIs
Binary JSON
ByteArray
new
setsize
size
tostring
Crypto lib
hash
PBKDF2
asymmetric
JWT Signature
symmetric
Mail (SMTP)
HTTP clients
httpc
timeout
status
headerpairs
read
trusted
close
http
httpm
stat
post
download
Sockets
bind
connect
udpcon
req2sock
http2sock
toip
event
getsock
h2n
fh2n
n2h
fn2h
Socket Methods
sendto
accept
disable
enable
maxsize
queuelen
owner
websocket
ping
setoption
state
upgrade
isresumed
Socket Design
Blocking Sockets
Asynchronous Sockets
Cosockets
WebSockets
Pipes
mkfifo
open
Thread Lib
run
configure
dbg
SharkSSL
ba.create.sharkssl
ba.create.certstore
ba.create.sharkcert
ba.create.key
ba.create.csr
ba.create.certificate
ba.parsecert
ba.parsecerttime
ba.sharkclient
Server Listen Sock
forkpty
LuaIo
Trace Logger
Reverse Proxy
Lua Debugger
Persistence
JSON
LuaSQL
Error Handling
Environment Object
Cursor Object
Blob Object
SQLite & LSP
Web-Services
SOAP
Services
Basic Example
Service Definition
JSON-RPC Server
JSON-RPC JS Client
Blocking
Asynchronous
Constructor
Exceptions
Loading
XML-RPC
REST & AJAX
XML Parser
Implementation
Sample code
xml2table.lua
Lua Interpreter (xlua)
Lua Reference
Xedge
LspNetIo
C Interface
Lua Bindings
Protocols
SMQ
Connecting 2 Broker
Publish/Subscribe
Topic Names
Publisher's Address
One-to-One
Subtopics
Supervising
JS & Lua Examples
C/C++ Examples
Additional Examples
Implementations
Real Time Browser UI
Manage Multiple Devices
IoT Cloud Server
Bypassing SOP
Security
Auth Methods
SMQ Auth
Certificate Auth
Web Auth
Authorization
Auth. Callbacks
SSL Termination
Lua Broker
createsub
gettid
observe
unobserve
publish
pubon
subscribe
unsubscribe
onmsg
queuesize
tid2topic
topic2tid
subtopic2tid
tid2subtopic
peers
sock2peer
etid2peer
topics
subtopics
setkeepalive
shutdown
isSMQ
JavaScript Client
SMQ.wsURL
SMQ.Client
disconnect
pubjson
onauth
onconnect
onclose
onreconnect
JavaMQ
SMQ Client
SharkMQ
Clustering
Cluster
MTL
isopen
commence
hascon
sendframe
CONN
add
setlist
Auto Discover
Server 2 Server
MQTT
Introductory Examples
Rapid Development
Sessions & QoS
Websocket Connection
HTTP/SOCKS Proxy
OPC-UA
Modbus
rcoil
wcoil
discrete
rholding
wholding
register
readwrite
connected
ACME
Mako Server
mako.zip
Command-Line
mako.conf
Custom Params
Data Logging
Set Home Directory
Let's Encrypt
Loading Apps
Port and Intf
Proxy
SSL Certificate
RSA v.s. ECC
TraceLogger
User Database
Saving mako.conf
.preload script
Functions
mako.dos2unix
mako.createloader
mako.loadcerts
mako.log
mako.tracefile
mako.udb
Dynamic App Mgmnt
mako.createapp
mako.getapps
mako.reloadapp
mako.stopapp
mako.startapp
mako.removeapp
I/O interfaces
Global Variables
Modules
acmebot.lua
acmebot.configure
acmebot.getdomains
acmebot.start
acmebot.status
acmedns.lua
acmedns.active
acmedns.auto
acmedns.manual
acmedns.renew
acmedns.recordset
acmedns.status
loadconf.lua
log.lua
log.sendmail
LPeg
rwfile.lua
rwfile.json
rwfile.file
sqlutil.lua
su.open
su.dir
su.exist
su.find
su.select
C & C++
C library
C++
C & OO
IPv6
CSP Intro
Duplicate Directories
Static Content
Dynamic Content
Debug-Release
Trace Library
Threads
Advanced Use
Components
HttpAsynchReq
HttpAsynchResp
CSP
Service Function
CSP Tools
CspCompile
CspLink
CspMakeGen
Installing CSP
bin2c
Reference Manual
Class List
Build Structure
Example Structure
Building
Target Libraries
Makefiles
CSP Introduction
Hangman
CSP Security
Upload Firmware
HttpResMgr
ServerTcpCon
Network Time
C Std Lib
Index