render

package
v1.9.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 1, 2023 License: MIT Imports: 13 Imported by: 622

Documentation

Index

Constants

This section is empty.

Variables

View Source
var TOMLContentType = []string{"application/toml; charset=utf-8"}

Functions

func WriteJSON

func WriteJSON(w http.ResponseWriter, obj any) error

WriteJSON marshals the given interface object and writes it with custom ContentType.

func WriteMsgPack added in v1.3.0

func WriteMsgPack(w http.ResponseWriter, obj any) error

WriteMsgPack writes MsgPack ContentType and encodes the given interface object.

func WriteString

func WriteString(w http.ResponseWriter, format string, data []any) (err error)

WriteString writes data according to its format and write custom ContentType.

Types

type AsciiJSON added in v1.3.0

type AsciiJSON struct {
	Data any
}

AsciiJSON contains the given interface object.

func (AsciiJSON) Render added in v1.3.0

func (r AsciiJSON) Render(w http.ResponseWriter) (err error)

Render (AsciiJSON) marshals the given interface object and writes it with custom ContentType.

func (AsciiJSON) WriteContentType added in v1.3.0

func (r AsciiJSON) WriteContentType(w http.ResponseWriter)

WriteContentType (AsciiJSON) writes JSON ContentType.

type Data

type Data struct {
	ContentType string
	Data        []byte
}

Data contains ContentType and bytes data.

func (Data) Render

func (r Data) Render(w http.ResponseWriter) (err error)

Render (Data) writes data with custom ContentType.

func (Data) WriteContentType added in v1.3.0

func (r Data) WriteContentType(w http.ResponseWriter)

WriteContentType (Data) writes custom ContentType.

type Delims added in v1.3.0

type Delims struct {
	// Left delimiter, defaults to {{.
	Left string
	// Right delimiter, defaults to }}.
	Right string
}

Delims represents a set of Left and Right delimiters for HTML template rendering.

type HTML

type HTML struct {
	Template *template.Template
	Name     string
	Data     any
}

HTML contains template reference and its name with given interface object.

func (HTML) Render

func (r HTML) Render(w http.ResponseWriter) error

Render (HTML) executes template and writes its result with custom ContentType for response.

func (HTML) WriteContentType added in v1.3.0

func (r HTML) WriteContentType(w http.ResponseWriter)

WriteContentType (HTML) writes HTML ContentType.

type HTMLDebug

type HTMLDebug struct {
	Files   []string
	Glob    string
	Delims  Delims
	FuncMap template.FuncMap
}

HTMLDebug contains template delims and pattern and function with file list.

func (HTMLDebug) Instance

func (r HTMLDebug) Instance(name string, data any) Render

Instance (HTMLDebug) returns an HTML instance which it realizes Render interface.

type HTMLProduction

type HTMLProduction struct {
	Template *template.Template
	Delims   Delims
}

HTMLProduction contains template reference and its delims.

func (HTMLProduction) Instance

func (r HTMLProduction) Instance(name string, data any) Render

Instance (HTMLProduction) returns an HTML instance which it realizes Render interface.

type HTMLRender

type HTMLRender interface {
	// Instance returns an HTML instance.
	Instance(string, any) Render
}

HTMLRender interface is to be implemented by HTMLProduction and HTMLDebug.

type IndentedJSON

type IndentedJSON struct {
	Data any
}

IndentedJSON contains the given interface object.

func (IndentedJSON) Render

func (r IndentedJSON) Render(w http.ResponseWriter) error

Render (IndentedJSON) marshals the given interface object and writes it with custom ContentType.

func (IndentedJSON) WriteContentType added in v1.3.0

func (r IndentedJSON) WriteContentType(w http.ResponseWriter)

WriteContentType (IndentedJSON) writes JSON ContentType.

type JSON

type JSON struct {
	Data any
}

JSON contains the given interface object.

func (JSON) Render

func (r JSON) Render(w http.ResponseWriter) error

Render (JSON) writes data with custom ContentType.

func (JSON) WriteContentType added in v1.3.0

func (r JSON) WriteContentType(w http.ResponseWriter)

WriteContentType (JSON) writes JSON ContentType.

type JsonpJSON added in v1.3.0

type JsonpJSON struct {
	Callback string
	Data     any
}

JsonpJSON contains the given interface object its callback.

func (JsonpJSON) Render added in v1.3.0

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 (JsonpJSON) WriteContentType added in v1.3.0

func (r JsonpJSON) WriteContentType(w http.ResponseWriter)

WriteContentType (JsonpJSON) writes Javascript ContentType.

type MsgPack added in v1.3.0

type MsgPack struct {
	Data any
}

MsgPack contains the given interface object.

func (MsgPack) Render added in v1.3.0

func (r MsgPack) Render(w http.ResponseWriter) error

Render (MsgPack) encodes the given interface object and writes data with custom ContentType.

func (MsgPack) WriteContentType added in v1.3.0

func (r MsgPack) WriteContentType(w http.ResponseWriter)

WriteContentType (MsgPack) writes MsgPack ContentType.

type ProtoBuf added in v1.4.0

type ProtoBuf struct {
	Data any
}

ProtoBuf contains the given interface object.

func (ProtoBuf) Render added in v1.4.0

func (r ProtoBuf) Render(w http.ResponseWriter) error

Render (ProtoBuf) marshals the given interface object and writes data with custom ContentType.

func (ProtoBuf) WriteContentType added in v1.4.0

func (r ProtoBuf) WriteContentType(w http.ResponseWriter)

WriteContentType (ProtoBuf) writes ProtoBuf ContentType.

type PureJSON added in v1.4.0

type PureJSON struct {
	Data any
}

PureJSON contains the given interface object.

func (PureJSON) Render added in v1.4.0

func (r PureJSON) Render(w http.ResponseWriter) error

Render (PureJSON) writes custom ContentType and encodes the given interface object.

func (PureJSON) WriteContentType added in v1.4.0

func (r PureJSON) WriteContentType(w http.ResponseWriter)

WriteContentType (PureJSON) writes custom ContentType.

type Reader added in v1.3.0

type Reader struct {
	ContentType   string
	ContentLength int64
	Reader        io.Reader
	Headers       map[string]string
}

Reader contains the IO reader and its length, and custom ContentType and other headers.

func (Reader) Render added in v1.3.0

func (r Reader) Render(w http.ResponseWriter) (err error)

Render (Reader) writes data with custom ContentType and headers.

func (Reader) WriteContentType added in v1.3.0

func (r Reader) WriteContentType(w http.ResponseWriter)

WriteContentType (Reader) writes custom ContentType.

type Redirect

type Redirect struct {
	Code     int
	Request  *http.Request
	Location string
}

Redirect contains the http request reference and redirects status code and location.

func (Redirect) Render

func (r Redirect) Render(w http.ResponseWriter) error

Render (Redirect) redirects the http request to new location and writes redirect response.

func (Redirect) WriteContentType added in v1.3.0

func (r Redirect) WriteContentType(http.ResponseWriter)

WriteContentType (Redirect) don't write any ContentType.

type Render

type Render interface {
	// Render writes data with custom ContentType.
	Render(http.ResponseWriter) error
	// WriteContentType writes custom ContentType.
	WriteContentType(w http.ResponseWriter)
}

Render interface is to be implemented by JSON, XML, HTML, YAML and so on.

type SecureJSON added in v1.3.0

type SecureJSON struct {
	Prefix string
	Data   any
}

SecureJSON contains the given interface object and its prefix.

func (SecureJSON) Render added in v1.3.0

func (r SecureJSON) Render(w http.ResponseWriter) error

Render (SecureJSON) marshals the given interface object and writes it with custom ContentType.

func (SecureJSON) WriteContentType added in v1.3.0

func (r SecureJSON) WriteContentType(w http.ResponseWriter)

WriteContentType (SecureJSON) writes JSON ContentType.

type String

type String struct {
	Format string
	Data   []any
}

String contains the given interface object slice and its format.

func (String) Render

func (r String) Render(w http.ResponseWriter) error

Render (String) writes data with custom ContentType.

func (String) WriteContentType added in v1.3.0

func (r String) WriteContentType(w http.ResponseWriter)

WriteContentType (String) writes Plain ContentType.

type TOML added in v1.8.0

type TOML struct {
	Data any
}

TOML contains the given interface object.

func (TOML) Render added in v1.8.0

func (r TOML) Render(w http.ResponseWriter) error

Render (TOML) marshals the given interface object and writes data with custom ContentType.

func (TOML) WriteContentType added in v1.8.0

func (r TOML) WriteContentType(w http.ResponseWriter)

WriteContentType (TOML) writes TOML ContentType for response.

type XML

type XML struct {
	Data any
}

XML contains the given interface object.

func (XML) Render

func (r XML) Render(w http.ResponseWriter) error

Render (XML) encodes the given interface object and writes data with custom ContentType.

func (XML) WriteContentType added in v1.3.0

func (r XML) WriteContentType(w http.ResponseWriter)

WriteContentType (XML) writes XML ContentType for response.

type YAML

type YAML struct {
	Data any
}

YAML contains the given interface object.

func (YAML) Render

func (r YAML) Render(w http.ResponseWriter) error

Render (YAML) marshals the given interface object and writes data with custom ContentType.

func (YAML) WriteContentType added in v1.3.0

func (r YAML) WriteContentType(w http.ResponseWriter)

WriteContentType (YAML) writes YAML ContentType for response.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL