Documentation
¶
Index ¶
- Variables
- func CopyHeaders(src, dst http.Header)
- type ByteReadSeekCloser
- type Header
- type IoReaderToReadSeekCloser
- type ReadSeekCloser
- type Request
- type Response
- func (r *Response) DateAfter(d time.Time) bool
- func (r *Response) Expires() (time.Time, error)
- func (r *Response) HasValidators() bool
- func (r *Response) Header() http.Header
- func (r *Response) IsNonErrorStatus() bool
- func (r *Response) IsStale() bool
- func (r *Response) LastModified() time.Time
- func (r *Response) MarkStale()
- func (r *Response) Status() int
- func (r *Response) Via() string
- type Store
Constants ¶
This section is empty.
Variables ¶
View Source
var Clock = func() time.Time { return time.Now().UTC() }
View Source
var DebugLogging = false
View Source
var ErrFoundInStore = errors.New("Found in store")
View Source
var ErrFoundInStorePrivate = errors.New("Found in store private")
View Source
var ErrFoundWithZeroInStore = errors.New("Found 0 size file in store")
View Source
var ErrNotFoundInStore = errors.New("Not found in store")
Returned when a resource doesn't exist
Functions ¶
func CopyHeaders ¶
Types ¶
type ByteReadSeekCloser ¶
func (*ByteReadSeekCloser) Close ¶
func (brsc *ByteReadSeekCloser) Close() error
type IoReaderToReadSeekCloser ¶
type IoReaderToReadSeekCloser struct {
io.ReadCloser
}
func (*IoReaderToReadSeekCloser) Close ¶
func (iosc *IoReaderToReadSeekCloser) Close() error
type Response ¶
type Response struct {
ReadSeekCloser
RequestTime, ResponseTime time.Time
// contains filtered or unexported fields
}
func NewResponse ¶
func NewResponse(statusCode int, body ReadSeekCloser, hdrs http.Header) *Response
func NewResponseFromHttp ¶
func NewResponseFromHttp(resp *http.Response, body io.ReadCloser) *Response
func (*Response) HasValidators ¶
func (*Response) IsNonErrorStatus ¶
func (*Response) LastModified ¶
type Store ¶
type Store interface {
StoreRequest(h http.Request, key string, override bool) error
StoreResponse(res *Response, key string, override bool) error
StoreResponseHeader(res *Response, key string, override bool) error
// StoreBody(h http.Request, key string, override bool) error
RetrieveRequest(key string) (*http.Request, error)
RetrieveRequestByHash(hash string) (*http.Request, error)
RetrieveRequestByFileName(filename string) (*http.Request, error)
RetrieveResponse(key string) (*Response, error)
RetrieveResponseHeader(key string) (Header, error)
// RetrieveResponseMetalink(key string, stored bool) (Metalink, error)
DelRequest(key string) error
DelResponse(key string) error
DelResponseHeader(key string) error
DelResponseBody(key string) error
DelByFilename(filename string) error
WalkRequests() ([]os.FileInfo, []string)
RetrieveAllRequests() []http.Request
FetchAndStoreResponse(h http.Request, key string, override bool) error
HashKey(key string) string
}
Store ---
func NewDiskStore ¶
NewDiskStore returns a disk-backed store
func NewMemoryStore ¶
func NewMemoryStore() Store
NewMemoryStore returns an ephemeral store in memory
func NewVFSStore ¶
NewVFSStore returns a store backend off the provided VFS
Click to show internal directories.
Click to hide internal directories.