Documentation ¶
Index ¶
- Constants
- func CleanACL(name string, value string) (string, error)
- func NewAuthToken(config conf.Section) (func(http.Handler) http.Handler, error)
- func NewCatchError(config conf.Section) (func(http.Handler) http.Handler, error)
- func NewContext(mc ring.MemcacheRing, log srv.LowLevelLogger, ...) func(http.Handler) http.Handler
- func NewCopyMiddleware(config conf.Section) (func(http.Handler) http.Handler, error)
- func NewFormPost(config conf.Section) (func(http.Handler) http.Handler, error)
- func NewHealthcheck(config conf.Section) (func(http.Handler) http.Handler, error)
- func NewKeystoneAuth(config conf.Section) (func(http.Handler) http.Handler, error)
- func NewRatelimiter(config conf.Section) (func(http.Handler) http.Handler, error)
- func NewRequestLogger(config conf.Section) (func(http.Handler) http.Handler, error)
- func NewTempAuth(config conf.Section) (func(http.Handler) http.Handler, error)
- func NewTempURL(config conf.Section) (func(http.Handler) http.Handler, error)
- func NewXlo(config conf.Section) (func(http.Handler) http.Handler, error)
- func ParseACL(acl string) ([]string, []string)
- func Recover(w http.ResponseWriter, r *http.Request, msg string)
- func ReferrerAllowed(referrer string, referrerACL []string) bool
- func RegisterInfo(name string, data interface{})
- func RemoveItemsWithPrefix(header http.Header, prefix string)
- type AccountInfo
- type AuthorizeFunc
- type CopyWriter
- type PipeResponseWriter
- type ProxyContext
- type ProxyContextMiddleware
Constants ¶
View Source
const ( FP_INVALID = iota FP_ERROR FP_EXPIRED FP_SCOPE_ACCOUNT FP_SCOPE_CONTAINER )
View Source
const ( SCOPE_INVALID = iota SCOPE_ACCOUNT SCOPE_CONTAINER )
Variables ¶
This section is empty.
Functions ¶
func CleanACL ¶
Returns a cleaned ACL header value, validating that it meets the formatting requirements for standard Hummingbird ACL strings.
func NewCatchError ¶
func NewContext ¶
func NewContext(mc ring.MemcacheRing, log srv.LowLevelLogger, proxyDirectClient *client.ProxyDirectClient) func(http.Handler) http.Handler
func NewCopyMiddleware ¶
func NewHealthcheck ¶
func NewKeystoneAuth ¶
func NewRatelimiter ¶
func NewRequestLogger ¶
func ReferrerAllowed ¶
Returns True if the referrer should be allowed based on the referrerACL list
func RegisterInfo ¶
func RegisterInfo(name string, data interface{})
func RemoveItemsWithPrefix ¶
Types ¶
type AccountInfo ¶
type AuthorizeFunc ¶
type CopyWriter ¶
type CopyWriter struct { http.ResponseWriter Logger srv.LowLevelLogger // contains filtered or unexported fields }
func (*CopyWriter) WriteHeader ¶
func (cw *CopyWriter) WriteHeader(status int)
type PipeResponseWriter ¶
type PipeResponseWriter struct { Logger srv.LowLevelLogger // contains filtered or unexported fields }
func NewPipeResponseWriter ¶
func NewPipeResponseWriter(writer *io.PipeWriter, done chan bool, logger srv.LowLevelLogger) *PipeResponseWriter
func (*PipeResponseWriter) Close ¶
func (w *PipeResponseWriter) Close()
func (*PipeResponseWriter) Header ¶
func (w *PipeResponseWriter) Header() http.Header
func (*PipeResponseWriter) WriteHeader ¶
func (w *PipeResponseWriter) WriteHeader(status int)
type ProxyContext ¶
type ProxyContext struct { *ProxyContextMiddleware C client.ProxyClient Authorize AuthorizeFunc AuthorizeOverride bool RemoteUser string ResellerRequest bool ACL string Logger srv.LowLevelLogger TxId string // contains filtered or unexported fields }
func GetProxyContext ¶
func GetProxyContext(r *http.Request) *ProxyContext
func (*ProxyContext) GetAccountInfo ¶
func (ctx *ProxyContext) GetAccountInfo(account string) *AccountInfo
func (*ProxyContext) InvalidateAccountInfo ¶
func (ctx *ProxyContext) InvalidateAccountInfo(account string)
func (*ProxyContext) Response ¶
func (ctx *ProxyContext) Response() (bool, int)
func (*ProxyContext) Subrequest ¶
func (ctx *ProxyContext) Subrequest(writer http.ResponseWriter, req *http.Request, source string, skipAuth bool)
type ProxyContextMiddleware ¶
type ProxyContextMiddleware struct { Cache ring.MemcacheRing // contains filtered or unexported fields }
func (*ProxyContextMiddleware) ServeHTTP ¶
func (m *ProxyContextMiddleware) ServeHTTP(writer http.ResponseWriter, request *http.Request)
Click to show internal directories.
Click to hide internal directories.