render

package
v0.0.0-...-fa61cfb Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2022 License: MIT Imports: 13 Imported by: 0

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

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

type AsciiJSON struct {
	Data any
}

AsciiJSON contains the given interface object.

func (AsciiJSON) Render

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

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

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

WriteContentType (Data) writes custom ContentType.

type Delims

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

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

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) (err error)

Render (JSON) writes data with custom ContentType.

func (JSON) WriteContentType

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

WriteContentType (JSON) writes JSON ContentType.

type JsonpJSON

type JsonpJSON struct {
	Callback string
	Data     any
}

JsonpJSON contains the given interface object its callback.

func (JsonpJSON) Render

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

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

WriteContentType (JsonpJSON) writes Javascript ContentType.

type MsgPack

type MsgPack struct {
	Data any
}

MsgPack contains the given interface object.

func (MsgPack) Render

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

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

func (MsgPack) WriteContentType

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

WriteContentType (MsgPack) writes MsgPack ContentType.

type ProtoBuf

type ProtoBuf struct {
	Data any
}

ProtoBuf contains the given interface object.

func (ProtoBuf) Render

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

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

func (ProtoBuf) WriteContentType

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

WriteContentType (ProtoBuf) writes ProtoBuf ContentType.

type PureJSON

type PureJSON struct {
	Data any
}

PureJSON contains the given interface object.

func (PureJSON) Render

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

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

func (PureJSON) WriteContentType

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

WriteContentType (PureJSON) writes custom ContentType.

type Reader

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

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

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

func (Reader) WriteContentType

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

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

type SecureJSON struct {
	Prefix string
	Data   any
}

SecureJSON contains the given interface object and its prefix.

func (SecureJSON) Render

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

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

func (SecureJSON) WriteContentType

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

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

WriteContentType (String) writes Plain ContentType.

type TOML

type TOML struct {
	Data any
}

TOML contains the given interface object.

func (TOML) Render

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

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

func (TOML) WriteContentType

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

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

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