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§
- apps
- The abstraction and implementation interface for service application logic
- connectors
- Connecting to servers
- listeners
- The listening endpoints (TCP and TLS) and their configurations.
- modules
- Modules to extend the functionalities of pingora services.
- prelude
- protocols
- Abstractions and implementations for protocols including TCP, TLS and HTTP
- server
- Server process and configuration management
- services
- The service interface
- upstreams
- The interface to connect to a remote server
- utils
- This module contains various types that make it easier to work with bytes and X509 certificates.
Structs§
- Error
- The struct that represents an error
Enums§
- Error
Source - The source of the error
- Error
Type - Predefined type of errors
- Immut
Str - 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. - Retry
Type - Whether the request can be retried after encountering this error
Traits§
- Context
- Helper trait to add more context to a given error
- Error
Trait Error
is a trait representing the basic expectations for error values, i.e., values of typeE
inResult<T, E>
.- OkOrErr
- Helper trait to convert an Option to an Error with context.
- OrErr
- Helper trait to chain errors with context