render

package
v1.11.0 Latest Latest
Warning

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

Go to latest
Published: Sep 20, 2025 License: MIT Imports: 15 Imported by: 835

Documentation ¶

Index ¶

Constants ¶

This section is empty.

Variables ¶

This section is empty.

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) 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
	FileSystem http.FileSystem
	Patterns   []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