mirror of
https://github.com/kataras/iris.git
synced 2025-12-26 14:27:04 +00:00
some major improvements to the (server-side) cache middleware and an example of a client-side responsibility cache
Former-commit-id: 93d3a7a6f163c6d49f315f86d10e63f7b1b1d93a
This commit is contained in:
31
cache/entry/response.go
vendored
31
cache/entry/response.go
vendored
@@ -1,19 +1,21 @@
|
||||
package entry
|
||||
|
||||
import "net/http"
|
||||
|
||||
// Response is the cached response will be send to the clients
|
||||
// its fields setted at runtime on each of the non-cached executions
|
||||
// non-cached executions = first execution, and each time after
|
||||
// cache expiration datetime passed
|
||||
// cache expiration datetime passed.
|
||||
type Response struct {
|
||||
// statusCode for the response cache handler
|
||||
// statusCode for the response cache handler.
|
||||
statusCode int
|
||||
// contentType for the response cache handler
|
||||
contentType string
|
||||
// body is the contents will be served by the cache handler
|
||||
// body is the contents will be served by the cache handler.
|
||||
body []byte
|
||||
// the total headers of the response, including content type.
|
||||
headers http.Header
|
||||
}
|
||||
|
||||
// StatusCode returns a valid status code
|
||||
// StatusCode returns a valid status code.
|
||||
func (r *Response) StatusCode() int {
|
||||
if r.statusCode <= 0 {
|
||||
r.statusCode = 200
|
||||
@@ -22,14 +24,19 @@ func (r *Response) StatusCode() int {
|
||||
}
|
||||
|
||||
// ContentType returns a valid content type
|
||||
func (r *Response) ContentType() string {
|
||||
if r.contentType == "" {
|
||||
r.contentType = "text/html; charset=utf-8"
|
||||
}
|
||||
return r.contentType
|
||||
// func (r *Response) ContentType() string {
|
||||
// if r.headers == "" {
|
||||
// r.contentType = "text/html; charset=utf-8"
|
||||
// }
|
||||
// return r.contentType
|
||||
// }
|
||||
|
||||
// Headers returns the total headers of the cached response.
|
||||
func (r *Response) Headers() http.Header {
|
||||
return r.headers
|
||||
}
|
||||
|
||||
// Body returns contents will be served by the cache handler
|
||||
// Body returns contents will be served by the cache handler.
|
||||
func (r *Response) Body() []byte {
|
||||
return r.body
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user