Overview of libHttpClient
mainlibHttpClient is a platform abstraction layer for HTTP and WebSocket designed for professional game developers. It provides a flat, asynchronous C API that works across multiple platforms including GDK, XDK ERA, Win32, UWP, iOS, Android, and Linux.
Key Features
- Platform Abstraction: Uses native platform APIs by default but allows custom implementations via callbacks.
- Asynchronous Design: Designed to prevent blocking game threads; results can be dispatched to specific game threads to avoid manual marshaling.
- Memory Control: Supports caller-controlled memory allocation via callback APIs.
- Robustness: Includes built-in retry logic (obeying
Retry-Afterheaders and jitter) and Xbox Live throttle handling. - No Heavy Dependencies: Does not require PPL or Boost and does not use exceptions for error reporting.
- P/Invoke Friendly: The flat C API is designed for easy interop with languages like C#.