var TOMLContentType = []string{"application/toml; charset=utf-8"}
func WriteJSON(w http.ResponseWriter, obj any) error
WriteJSON marshals the given interface object and writes it with custom ContentType.
func WriteMsgPack(w http.ResponseWriter, obj any) error
WriteMsgPack writes MsgPack ContentType and encodes the given interface object.
func WriteString(w http.ResponseWriter, format string, data []any) (err error)
WriteString writes data according to its format and write custom ContentType.
AsciiJSON contains the given interface object.
type AsciiJSON struct { Data any }
func (r AsciiJSON) Render(w http.ResponseWriter) (err error)
Render (AsciiJSON) marshals the given interface object and writes it with custom ContentType.
func (r AsciiJSON) WriteContentType(w http.ResponseWriter)
WriteContentType (AsciiJSON) writes JSON ContentType.
Data contains ContentType and bytes data.
type Data struct { ContentType string Data []byte }
func (r Data) Render(w http.ResponseWriter) (err error)
Render (Data) writes data with custom ContentType.
func (r Data) WriteContentType(w http.ResponseWriter)
WriteContentType (Data) writes custom ContentType.
Delims represents a set of Left and Right delimiters for HTML template rendering.
type Delims struct { // Left delimiter, defaults to {{. Left string // Right delimiter, defaults to }}. Right string }
HTML contains template reference and its name with given interface object.
type HTML struct { Template *template.Template Name string Data any }
func (r HTML) Render(w http.ResponseWriter) error
Render (HTML) executes template and writes its result with custom ContentType for response.
func (r HTML) WriteContentType(w http.ResponseWriter)
WriteContentType (HTML) writes HTML ContentType.
HTMLDebug contains template delims and pattern and function with file list.
type HTMLDebug struct { Files []string Glob string Delims Delims FuncMap template.FuncMap }
func (r HTMLDebug) Instance(name string, data any) Render
Instance (HTMLDebug) returns an HTML instance which it realizes Render interface.
HTMLProduction contains template reference and its delims.
type HTMLProduction struct { Template *template.Template Delims Delims }
func (r HTMLProduction) Instance(name string, data any) Render
Instance (HTMLProduction) returns an HTML instance which it realizes Render interface.
HTMLRender interface is to be implemented by HTMLProduction and HTMLDebug.
type HTMLRender interface { // Instance returns an HTML instance. Instance(string, any) Render }
IndentedJSON contains the given interface object.
type IndentedJSON struct { Data any }
func (r IndentedJSON) Render(w http.ResponseWriter) error
Render (IndentedJSON) marshals the given interface object and writes it with custom ContentType.
func (r IndentedJSON) WriteContentType(w http.ResponseWriter)
WriteContentType (IndentedJSON) writes JSON ContentType.
JSON contains the given interface object.
type JSON struct { Data any }
func (r JSON) Render(w http.ResponseWriter) error
Render (JSON) writes data with custom ContentType.
func (r JSON) WriteContentType(w http.ResponseWriter)
WriteContentType (JSON) writes JSON ContentType.
JsonpJSON contains the given interface object its callback.
type JsonpJSON struct { Callback string Data any }
func (r JsonpJSON) Render(w http.ResponseWriter) (err error)
Render (JsonpJSON) marshals the given interface object and writes it and its callback with custom ContentType.
func (r JsonpJSON) WriteContentType(w http.ResponseWriter)
WriteContentType (JsonpJSON) writes Javascript ContentType.
MsgPack contains the given interface object.
type MsgPack struct { Data any }
func (r MsgPack) Render(w http.ResponseWriter) error
Render (MsgPack) encodes the given interface object and writes data with custom ContentType.
func (r MsgPack) WriteContentType(w http.ResponseWriter)
WriteContentType (MsgPack) writes MsgPack ContentType.
ProtoBuf contains the given interface object.
type ProtoBuf struct { Data any }
func (r ProtoBuf) Render(w http.ResponseWriter) error
Render (ProtoBuf) marshals the given interface object and writes data with custom ContentType.
func (r ProtoBuf) WriteContentType(w http.ResponseWriter)
WriteContentType (ProtoBuf) writes ProtoBuf ContentType.
PureJSON contains the given interface object.
type PureJSON struct { Data any }
func (r PureJSON) Render(w http.ResponseWriter) error
Render (PureJSON) writes custom ContentType and encodes the given interface object.
func (r PureJSON) WriteContentType(w http.ResponseWriter)
WriteContentType (PureJSON) writes custom ContentType.
Reader contains the IO reader and its length, and custom ContentType and other headers.
type Reader struct { ContentType string ContentLength int64 Reader io.Reader Headers map[string]string }
func (r Reader) Render(w http.ResponseWriter) (err error)
Render (Reader) writes data with custom ContentType and headers.
func (r Reader) WriteContentType(w http.ResponseWriter)
WriteContentType (Reader) writes custom ContentType.
Redirect contains the http request reference and redirects status code and location.
type Redirect struct { Code int Request *http.Request Location string }
func (r Redirect) Render(w http.ResponseWriter) error
Render (Redirect) redirects the http request to new location and writes redirect response.
func (r Redirect) WriteContentType(http.ResponseWriter)
WriteContentType (Redirect) don't write any ContentType.
Render interface is to be implemented by JSON, XML, HTML, YAML and so on.
type Render interface { // Render writes data with custom ContentType. Render(http.ResponseWriter) error // WriteContentType writes custom ContentType. WriteContentType(w http.ResponseWriter) }
SecureJSON contains the given interface object and its prefix.
type SecureJSON struct { Prefix string Data any }
func (r SecureJSON) Render(w http.ResponseWriter) error
Render (SecureJSON) marshals the given interface object and writes it with custom ContentType.
func (r SecureJSON) WriteContentType(w http.ResponseWriter)
WriteContentType (SecureJSON) writes JSON ContentType.
String contains the given interface object slice and its format.
type String struct { Format string Data []any }
func (r String) Render(w http.ResponseWriter) error
Render (String) writes data with custom ContentType.
func (r String) WriteContentType(w http.ResponseWriter)
WriteContentType (String) writes Plain ContentType.
TOML contains the given interface object.
type TOML struct { Data any }
func (r TOML) Render(w http.ResponseWriter) error
Render (TOML) marshals the given interface object and writes data with custom ContentType.
func (r TOML) WriteContentType(w http.ResponseWriter)
WriteContentType (TOML) writes TOML ContentType for response.
XML contains the given interface object.
type XML struct { Data any }
func (r XML) Render(w http.ResponseWriter) error
Render (XML) encodes the given interface object and writes data with custom ContentType.
func (r XML) WriteContentType(w http.ResponseWriter)
WriteContentType (XML) writes XML ContentType for response.
YAML contains the given interface object.
type YAML struct { Data any }
func (r YAML) Render(w http.ResponseWriter) error
Render (YAML) marshals the given interface object and writes data with custom ContentType.
func (r YAML) WriteContentType(w http.ResponseWriter)
WriteContentType (YAML) writes YAML ContentType for response.