Documentation
¶
Overview ¶
Package https implements an https-based server Communicator. It is the primary way for clients to communicate with the FS server.
Index ¶
Constants ¶
const (
// MaxContactSize is the largest contact (in bytes) that we will accept.
MaxContactSize = 20 * 1024 * 1024
)
Variables ¶
This section is empty.
Functions ¶
func GetClientCert ¶
func GetClientCert(req *http.Request, frontendConfig *cpb.FrontendConfig) (*x509.Certificate, error)
GetClientCert returns the client certificate from either the request header or TLS connection state.
Types ¶
type Communicator ¶
type Communicator struct {
// contains filtered or unexported fields
}
Communicator implements server.Communicator, and accepts client connections over HTTPS.
func NewCommunicator ¶
func NewCommunicator(p Params) (*Communicator, error)
NewCommunicator creates a Communicator, which listens through l and identifies itself using certFile and keyFile.
func (*Communicator) Start ¶
func (c *Communicator) Start() error
func (*Communicator) Stop ¶
func (c *Communicator) Stop()
type CompressionHandler ¶ added in v0.1.16
CompressionHandler is a http.Handler that transparently decompresses the request body if it is compressed and forwards the request to the wrapped handler.
func (*CompressionHandler) ServeHTTP ¶ added in v0.1.16
func (h *CompressionHandler) ServeHTTP(res http.ResponseWriter, req *http.Request)
ServeHTTP implements http.Handler.ServeHTTP by transparently decompressing the request body if it is compressed and forwarding the call to the wrapped handler.
type Params ¶
type Params struct {
Listener net.Listener // Where to listen for connections, required.
Cert, Key []byte // x509 encoded certificate and matching private key, required.
Streaming bool // Whether to enable streaming communications.
FrontendConfig *cpb.FrontendConfig // Configure how the frontend identifies and communicates with clients
StreamingLifespan time.Duration // Maximum time to keep a streaming connection open, defaults to 10 min.
StreamingCloseTime time.Duration // How much of StreamingLifespan to allocate to an orderly stream close, defaults to 30 sec.
StreamingJitter time.Duration // Maximum amount of jitter to add to StreamingLifespan.
MaxPerClientBatchProcessors uint32 // Maximum number of concurrent processors for messages coming from a single client.
}
Params wraps the parameters required to create an https communicator.