洞察企业如何通过模块化APP集成工具高效管理多平台小程序
1596
2022-10-19
Restbed - C++11 异步RESTful框架
Restbed is a comprehensive and consistent programming model for building applications that require seamless and secure communication over HTTP, with the ability to model a range of business processes, designed to target mobile, tablet, desktop and embedded production environments.
It's akin to embedding NGINX into your companies own product line. -- Solutions Architect, Bellrock Technology
Features
Feature | Description |
---|---|
WebSockets | Full-duplex communication channels over a single TCP connection. |
Server-Sent Events | Server-Sent Events enables efficient server-to-client streaming of text-based event data—e.g., real-time notifications or updates generated on the server. |
Comet | Long polling model to allow long-held HTTP requests for pushing data from the server to client. |
SSL/TLS | Secure over the wire communication allowing you to transmit private data online. |
Session Management | Create custom HTTP session persistence and management logic. |
Path Parameters | Annotate URIs with custom path parameters such as resource keys, revisions, etc... |
Query Parameters | Automated query parameter parsing. |
Header Filters | Filter incoming HTTP requests by headers. |
Logging | Customise how and where log entries are created. |
Multi-Path Resources | Give a resource multiple paths for improved readability. |
Customisable Methods | Add your own custom HTTP methods. |
Compression | Adaptability to address any form of compression GZip, Deflate, etc... |
Encoding | Adaptability to address any form of encoding UTF-32, ASCII, etc... |
Rules Engine | Reduce complexity by processing incoming requests with readable units of code. |
HTTP/HTTPS | Built in client capabilities with optional SSL peer certificate verification. |
IPv4/IPv6 | Internet Protocol Version 4/6 Network Support. |
Architecture | Asynchronous single or multi-threaded architecture, capable of addressing the C10K problem. |
Converters | Built-in Path, Query, and Header conversions for primary data-types. |
Authentication | Separate Service and/or Resource level authentication. |
Error Handling | Separate Service and/or Resource level error handling. |
Address Binding | Bind HTTP and/or HTTPS services to separate IP addresses. |
Signal Handling | Capture OS generated process signals. |
Compliance | Flexibility to address HTTP 1.0/1.1+ compliance. |
Mature | Secure, Stable, and extensively tested since 2013. |
Community | Active, vibrant and energetic open source community. |
Support | Commercial support is available from Corvusoft. |
Example
#include
More in-depth examples can be found here. To see Restbed used in anger, please visit Corvusoft's RestQ project.
License
© 2013-2016 Corvusoft Limited, United Kingdom. All rights reserved.
The Restbed framework is dual licensed; See LICENSE for full details.
Support
Please contact sales@corvusoft.co.uk, for support and licensing options including bespoke software development, testing, design consultation, training, mentoring and code review.
Build
git clone --recursive https://github.com/corvusoft/restbed.gitmkdir restbed/buildcd restbed/buildcmake [-DBUILD_TESTS=YES] [-DBUILD_EXAMPLES=YES] [-DBUILD_SSL=NO] [-DBUILD_SHARED=YES] [-DCMAKE_INSTALL_PREFIX=/output-directory] ..make [-j CPU_CORES+1] installmake test
You will now find all required components installed in the distribution folder.
Please submit all enhancements, proposals, and defects via the issue tracker; Alternatively ask a question on StackOverflow tagged #restbed.
For Microsoft Visual Studio instructions please see feature #17.
Documentation
This codebase is intended to be as self documenting as possible. We have supplied many examples and test suites to help aid developers.
We are currently working on textual API documentation, however it's subject to erratic and frequent alteration; you've been warned.
Minimum Requirements
Resource | Requirement |
---|---|
Compiler | C++11 compliant or above |
OS | BSD, Linux, Mac OSX, Solaris, Windows, Raspbian |
Road Map
Milestone | Feature | Status |
---|---|---|
0.0 | Asynchronous HTTP Service | complete |
1.0 | HTTP 1.0 Compliance | complete |
2.0 | HTTP 1.1 Compliance | complete |
2.5 | Secure Socket Layer | complete |
2.5 | Simultaneous Network Ports (HTTP/HTTPS) | complete |
3.0 | Rules Engine | complete |
3.5 | Schedule Tasks on Service run-loop | complete |
3.5 | Multi-Threaded service capability | complete |
3.5 | Bind Service to specific Address | complete |
3.5 | Session Management | complete |
4.0 | HTTP Client | complete |
4.0 | Signal Handling | complete |
4.5 | API Documentation | development |
4.5 | Web Sockets | complete |
5.0 | Client-side SSL certificates | pending |
5.0 | Resource Caching | pending |
5.0 | Runtime Modifications | pending |
5.0 | HTTP 2 compliance | pending |
5.0 | Refactor, Reduce, Reuse | pending |
Contact
Method | Description |
---|---|
Tweet us your questions & feature requests. | |
support@corvusoft.co.uk | Support related queries. |
sales@corvusoft.co.uk | Sale related queries. |
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~