|
Barracuda Application Server C/C++ Reference
Native APIs, integration guides, and platform interfaces
|
Use these guides when your application handles requests in C or C++ using BWS or the native portion of BAS. The virtual file system (VFS) routes URLs to directory and page objects; I/O interfaces supply the underlying data.
A native API listed here is not necessarily included in every BWS build. The full-SDK BWS wrapper selects JSON, ZIP I/O, uploads, WebDAV, and native WebSockets through the options in Select native web-server components. It includes HttpClient with SHARKTRUSTX; NetIo, UBJSON, and xparser need an explicitly assembled native source set outside that wrapper. BAS has its own source-selection rules, including the auxiliary group. Check Configure BAS and BWS for Your Product before linking an API into a reduced build.
For serving files, begin with Filesystems and I/O and HttpResRdr. DiskIo, ZipIo, and NetIo expose different storage through IoIntf. A route can serve files, run a native callback, or dispatch C Server Pages (CSP).
| Task | Native interfaces |
|---|---|
| Receive requests and produce responses | HttpRequest, HttpResponse, HttpPage |
| Mount resources and route paths | HttpDir, HttpResRdr, IoIntf |
| Receive uploads | HTTP uploads, HttpRecData |
| Make an HTTP(S) request | The HTTP(S) client library. |
| Push frames to connected browsers | WebSockets |
| Parse XML through streaming callbacks | XML parsing |
See Native integration examples for projects and Security and certificates before adding authentication or HTTPS. WebSocket and HTTP callbacks have specific lifetime and mutex contracts; follow the relevant API documentation.