Documentation ¶
Index ¶
- Constants
- Variables
- func CreateComposer()
- func DisplayGreeting(w http.ResponseWriter, r *http.Request)
- func NewListener(addr string, readTimeout, writeTimeout time.Duration) (net.Listener, error)
- func NewUnixListener(path string, readTimeout, writeTimeout time.Duration) (net.Listener, error)
- func ParseFlags()
- func PrepareGreeting()
- func Serve()
- func SetEnabledHooks()
- func SetupHookMetrics()
- func SetupMetrics(mux *http.ServeMux, handler *handler.Handler)
- func SetupPostHooks(handler *handler.Handler)
- func SetupPprof(globalMux *http.ServeMux)
- func SetupPreHooks(config *handler.Config) error
- func ShowVersion()
- type Conn
- type Listener
Constants ¶
const ( TLS13 = "tls13" TLS12 = "tls12" TLS12STRONG = "tls12-strong" )
Variables ¶
var BuildDate = "n/a"
var Composer *handler.StoreComposer
var Flags struct { HttpHost string HttpPort string HttpSock string MaxSize int64 UploadDir string Basepath string ShowGreeting bool DisableDownload bool DisableTermination bool Timeout int64 S3Bucket string S3ObjectPrefix string S3Endpoint string S3PartSize int64 S3MaxBufferedParts int64 S3DisableContentHashes bool S3DisableSSL bool S3ConcurrentPartUploads int GCSBucket string GCSObjectPrefix string AzStorage string AzContainerAccessType string AzBlobAccessTier string AzObjectPrefix string AzEndpoint string EnabledHooksString string PluginHookPath string FileHooksDir string HttpHooksEndpoint string HttpHooksForwardHeaders string HttpHooksRetry int HttpHooksBackoff int GrpcHooksEndpoint string GrpcHooksRetry int GrpcHooksBackoff int EnabledHooks []hooks.HookType ShowVersion bool ExposeMetrics bool MetricsPath string ExposePprof bool PprofPath string PprofBlockProfileRate int PprofMutexProfileRate int BehindProxy bool VerboseOutput bool S3TransferAcceleration bool TLSCertFile string TLSKeyFile string TLSMode string }
var GitCommit = "n/a"
var MetricsHookErrorsTotal = prometheus.NewCounterVec( prometheus.CounterOpts{ Name: "tusd_hook_errors_total", Help: "Total number of execution errors per hook type.", }, []string{"hooktype"}, )
var MetricsHookInvocationsTotal = prometheus.NewCounterVec( prometheus.CounterOpts{ Name: "tusd_hook_invocations_total", Help: "Total number of invocations per hook type.", }, []string{"hooktype"}, )
var MetricsOpenConnections = prometheus.NewGauge(prometheus.GaugeOpts{
Name: "tusd_connections_open",
Help: "Current number of open connections.",
})
var VersionName = "n/a"
Functions ¶
func CreateComposer ¶
func CreateComposer()
func DisplayGreeting ¶
func DisplayGreeting(w http.ResponseWriter, r *http.Request)
func NewListener ¶
func NewUnixListener ¶
Binds to a UNIX socket. If the file already exists, try to remove it before binding again. This logic is borrowed from Gunicorn (see https://github.com/benoitc/gunicorn/blob/a8963ef1a5a76f3df75ce477b55fe0297e3b617d/gunicorn/sock.py#L106)
func ParseFlags ¶
func ParseFlags()
func PrepareGreeting ¶
func PrepareGreeting()
func Serve ¶
func Serve()
Setups the different components, starts a Listener and give it to http.Serve().
By default it will bind to the specified host/port, unless a UNIX socket is specified, in which case a different socket creation and binding mechanism is put in place.
func SetEnabledHooks ¶
func SetEnabledHooks()
func SetupHookMetrics ¶
func SetupHookMetrics()
func SetupPostHooks ¶
func SetupPprof ¶
func SetupPreHooks ¶
func ShowVersion ¶
func ShowVersion()
Types ¶
type Conn ¶
type Conn struct { net.Conn ReadTimeout time.Duration WriteTimeout time.Duration // contains filtered or unexported fields }
Conn wraps a net.Conn, and sets a deadline for every read and write operation.
type Listener ¶
Listener wraps a net.Listener, and gives a place to store the timeout parameters. On Accept, it will wrap the net.Conn with our own Conn for us. Original implementation taken from https://gist.github.com/jbardin/9663312 Thanks! <3