render

package
v0.0.0 Latest Latest
Warning

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

Go to latest
Published: Jul 2, 2024 License: MIT Imports: 5 Imported by: 0

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 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 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 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

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 MapJSON

type MapJSON map[string]interface{}

MapJSON common map json struct.

func (MapJSON) Render

func (m MapJSON) Render(w http.ResponseWriter) error

Render (MapJSON) writes data with json ContentType.

func (MapJSON) WriteContentType

func (m MapJSON) WriteContentType(w http.ResponseWriter)

WriteContentType write json 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 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.

Jump to

Keyboard shortcuts

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