All Projects → chronolaw → Ngx_cpp_dev

chronolaw / Ngx_cpp_dev

Licence: bsd-2-clause
Nginx cpp development kit

Projects that are alternatives of or similar to Ngx cpp dev

Pymiere
Python for Premiere pro
Stars: ✭ 110 (-6.78%)
Mutual labels:  wrapper
Pyblog
Pyblog 是一个简单易用的在线 Markdown 博客系统,它使用 Python 的 flask 架构,理论上支持所有 flask-sqlalchemy 所能支持的数据库。 编辑器使用的是 editor.md。当前版本(v2.0)支持且仅支持 python3! Python 的 Markdown to HTML 编译器使用的是 Mistune! Just so!
Stars: ✭ 113 (-4.24%)
Mutual labels:  nginx
Docker Matomo
Matomo (formerly Piwik) Docker image based on Alpine Linux
Stars: ✭ 117 (-0.85%)
Mutual labels:  nginx
Discord Rpc
Java Wrapper of the Discord-RPC Library for Discord Rich Presence.
Stars: ✭ 109 (-7.63%)
Mutual labels:  wrapper
Tlaw
The Last API Wrapper: Pragmatic API wrapper framework
Stars: ✭ 112 (-5.08%)
Mutual labels:  wrapper
Airtable Php
A PHP client for the Airtable API
Stars: ✭ 115 (-2.54%)
Mutual labels:  wrapper
Sdl2 nim
Wrapper of the SDL 2 library for the Nim language.
Stars: ✭ 108 (-8.47%)
Mutual labels:  wrapper
Fficxx
Haskell-C++ Foreign Function Interface Generator
Stars: ✭ 117 (-0.85%)
Mutual labels:  wrapper
Knowledge
文档着重构建一个完整的「前端技术架构图谱」,方便 F2E(Front End Engineering又称FEE、F2E) 学习与进阶。
Stars: ✭ 1,620 (+1272.88%)
Mutual labels:  nginx
Docker Nginx Gunicorn Flask Letsencrypt
Boilerplate code for setting up Nginx + Gunicorn + Flask + automated LetsEncrypt certificates (https) using docker-compose.
Stars: ✭ 117 (-0.85%)
Mutual labels:  nginx
Pokekotlin
Kotlin (or Java, Scala, etc) client for PokeApi
Stars: ✭ 110 (-6.78%)
Mutual labels:  wrapper
Maxwell
Maxwell is an HTTP client which support for middleware and multiple adapters.
Stars: ✭ 111 (-5.93%)
Mutual labels:  wrapper
Ansible Bootstrap Ubuntu
Ansible scripts for bootstrapping and securing an Ubuntu server (locale, fail2ban, firewall, lock down sudo, prevent root and password login, ...)
Stars: ✭ 115 (-2.54%)
Mutual labels:  nginx
Docker Nginx Postgres Django Example
Example using Docker, Django, multiple Postgres databases, NginX, Gunicorn, pipenv, GitLab CI and tox.
Stars: ✭ 110 (-6.78%)
Mutual labels:  nginx
Motan Openresty
A cross-language RPC framework for rapid development of high performance distributed services based on OpenResty.
Stars: ✭ 117 (-0.85%)
Mutual labels:  nginx
Nginx Lua Redis Rate Measuring
A lua library to provide distributed rate measurement using nginx + redis, you can use it to do a throttling system within many nodes.
Stars: ✭ 109 (-7.63%)
Mutual labels:  nginx
Wgpu Rs
Rust bindings to wgpu native library
Stars: ✭ 1,694 (+1335.59%)
Mutual labels:  wrapper
Notebook
我的技术笔记本~
Stars: ✭ 118 (+0%)
Mutual labels:  nginx
Hydroshare
HydroShare is a collaborative website for better access to data and models in the hydrologic sciences.
Stars: ✭ 117 (-0.85%)
Mutual labels:  nginx
Lua Resty Http
Lua HTTP client cosocket driver for OpenResty / ngx_lua.
Stars: ✭ 1,647 (+1295.76%)
Mutual labels:  nginx

Name

ngx_cpp_dev

Nginx cpp development kit, with the power of C++11 and Boost Library.

Build Status

Table of Contents

Status

Experimental but works well.

Now support Nginx 1.13.10 and later.

See Also

Requirements

  • Linux or other UNIX like
  • C++11(gcc 4.6 or later)
  • Boost(1.57 or later)
  • Nginx 1.13.10 or later

Please see directiory "setup".

Usage

At first, you must patch nginx/auto/make to enable g++ compiler and C++11.

Please see directory "patch/auto".

For example:

patch -b make make.patch

Then configure nginx with:

./configure --add-module=path/to/ngxpp	\	            # ngx cpp module
			--add-module=xxxx			                # other modules
make

ngx_cpp_module is a pure header library, you should use ngx_cpp_module like this:

#include "NgxAll.hpp"	// include all C++ tools for http modules

Or

#include "NgxStreamAll.hpp"	// include all C++ tools for stream modules

Examples

Please see directory http, including echo/filter/variables and so on.

C++ APIs

common tools

Class Name Description
NgxUnsetValue generic unset value -1.
NgxValue wrapper for nginx int, include init/merge/unset.
NgxException wrapper for nginx error code.
NgxPool wrapper for nginx memory pool.
NgxAlloctor adapter to C++ allocator.
NgxString wrapper for nginx ngx_str_t.
NgxClock wrapper for nginx time functions.
NgxDatetime wrapper for nginx date functions.
NgxLog wrapper for nginx error log.

data structure

Class Name Description
NgxArray wrapper for nginx ngx_array_t.
NgxList wrapper for nginx ngx_list_t.
NgxQueue wrapper for nginx ngx_queue_t.
NgxBuf deprecated, wrapper for nginx ngx_buf_t.
NgxChain deprecated, wrapper for nginx ngx_chain_t.
NgxRbtree wrapper for nginx ngx_rbtree_t.

modules

Class Name Description
NgxModuleConfig easy to access nginx module confing info.
NgxModule get module's config and ctx data.
NgxCommand deprecated, DO NOT USE IT.
NgxTake deprecated
NgxModuleCtx easy to access nginx module's ctx data.
NgxHttpCoreModule wrapper for ngx_http_core_module
NgxFilter wrapper for nginx filter mechanism.

http process

Class Name Description
NgxHeaders
NgxRequest
NgxResponse
NgxUpstreamHelper
NgxLoadBalance
NgxSubRequest

others

Class Name Description
NgxVariables
NgxVarManager
NgxDigest
NgxTimer

TODO

  • more test suites
  • nginx datagram
  • ...
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].