Improved API
This commit is contained in:
39
Response.go
Normal file
39
Response.go
Normal file
@ -0,0 +1,39 @@
|
||||
package server
|
||||
|
||||
import (
|
||||
"io"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// Response is the interface for an HTTP response.
|
||||
type Response interface {
|
||||
Header(key string) string
|
||||
SetHeader(key string, value string)
|
||||
Write([]byte) (int, error)
|
||||
WriteString(string) (int, error)
|
||||
}
|
||||
|
||||
// response represents the HTTP response used in the given context.
|
||||
type response struct {
|
||||
http.ResponseWriter
|
||||
}
|
||||
|
||||
// Header returns the header value for the given key.
|
||||
func (res response) Header(key string) string {
|
||||
return res.ResponseWriter.Header().Get(key)
|
||||
}
|
||||
|
||||
// SetHeader sets the header value for the given key.
|
||||
func (res response) SetHeader(key string, value string) {
|
||||
res.ResponseWriter.Header().Set(key, value)
|
||||
}
|
||||
|
||||
// Write implements the io.Writer interface.
|
||||
func (res response) Write(body []byte) (int, error) {
|
||||
return res.ResponseWriter.Write(body)
|
||||
}
|
||||
|
||||
// WriteString implements the io.StringWriter interface.
|
||||
func (res response) WriteString(body string) (int, error) {
|
||||
return res.ResponseWriter.(io.StringWriter).WriteString(body)
|
||||
}
|
Reference in New Issue
Block a user