Expand description
§Pingora
Pingora is a collection of service frameworks and network libraries battle-tested by the Internet. It is to build robust, scalable and secure network infrastructures and services at Internet scale.
§Features
- Http 1.x and Http 2
- Modern TLS with OpenSSL or BoringSSL (FIPS compatible)
- Zero downtime upgrade
§Usage
This crate provides low level service and protocol implementation and abstraction.
If looking to build a (reverse) proxy, see pingora-proxy
crate.
§Optional features
boringssl
: Switch the internal TLS library from OpenSSL to BoringSSL.
Re-exports§
Modules§
- The abstraction and implementation interface for service application logic
- Connecting to servers
- The listening endpoints (TCP and TLS) and their configurations.
- Modules to extend the functionalities of pingora services.
- Abstractions and implementations for protocols including TCP, TLS and HTTP
- Server process and configuration management
- The service interface
- The interface to connect to a remote server
- This module contains various types that make it easier to work with bytes and X509 certificates.
Structs§
- The struct that represents an error
Enums§
- The source of the error
- Predefined type of errors
- A data struct that holds either immutable string or reference to static str. Compared to String or
Box<str>
, it avoids memory allocation on static str. - Whether the request can be retried after encountering this error
Traits§
- Helper trait to add more context to a given error
Error
is a trait representing the basic expectations for error values, i.e., values of typeE
inResult<T, E>
.- Helper trait to chain errors with context
Type Aliases§
- Syntax sugar for
std::Result<T, BError>