aah

package module
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: May 21, 2017 License: MIT Imports: 36 Imported by: 0

README

aah web framework for Go

Build Status codecov Go Report Card Powered by Go Version GoDoc License

Release v0.5.1 tagged on May 21, 2017

aah framework - A scalable, performant, rapid development Web framework for Go.

Requires go1.8 and above.

Visit official website https://aahframework.org to learn more.

Documentation

Overview

Package aah is A scalable, performant, rapid development Web framework for Go https://aahframework.org

Index

Constants

View Source
const (
	// EventOnInit event is fired right after aah application config is initialized.
	EventOnInit = "OnInit"

	// EventOnStart event is fired before HTTP/Unix listener starts
	EventOnStart = "OnStart"

	// EventOnShutdown event is fired when server recevies interrupt or kill command.
	EventOnShutdown = "OnShutdown"

	// EventOnRequest event is fired when server recevies incoming request.
	EventOnRequest = "OnRequest"

	// EventOnPreReply event is fired when before server writes the reply on the wire.
	// Except when
	//   1) `Reply().Done()`,
	//   2) `Reply().Redirect(...)` is called.
	// Refer `aah.Reply.Done()` godoc for more info.
	EventOnPreReply = "OnPreReply"

	// EventOnAfterReply event is fired when before server writes the reply on the wire.
	// Except when
	//   1) `Reply().Done()`,
	//   2) `Reply().Redirect(...)` is called.
	// Refer `aah.Reply.Done()` godoc for more info.
	EventOnAfterReply = "OnAfterReply"
)
View Source
const Version = "0.5.1"

Version no. of aah framework

Variables

This section is empty.

Functions

func AddController

func AddController(c interface{}, methods []*MethodInfo)

AddController method adds given controller into controller registory. with "dereferenced" a.k.a "indirecting".

func AddServerTLSConfig added in v0.5.1

func AddServerTLSConfig(tlsCfg *tls.Config)

AddServerTLSConfig method can be used for custom TLS config for aah server. Note: if `server.ssl.lets_encrypt.enable=true` then framework sets the `GetCertificate` from autocert manager.

Use `aah.OnInit` or `func init() {...}` to assign your custom TLSConfig.

func AddSessionStore

func AddSessionStore(name string, store session.Storer) error

AddSessionStore method allows you to add custom session store which implements `session.Storer` interface. The `name` parameter is used in aah.conf on `session.store.type = "name"`.

func AddTemplateFunc

func AddTemplateFunc(funcs template.FuncMap)

AddTemplateFunc method adds template func map into view engine.

func AddViewEngine

func AddViewEngine(name string, engine view.Enginer) error

AddViewEngine method adds the given name and view engine to view store.

func AllAppProfiles

func AllAppProfiles() []string

AllAppProfiles method returns all the aah application environment profile names.

func AppBaseDir

func AppBaseDir() string

AppBaseDir method returns the application base or binary current directory

For e.g.:
	$GOPATH/src/github.com/user/myproject
	<app/binary/path/base/directory>

func AppConfig

func AppConfig() *config.Config

AppConfig method returns aah application configuration instance.

func AppDateFormat

func AppDateFormat() string

AppDateFormat method returns aah application date format

func AppDateTimeFormat

func AppDateTimeFormat() string

AppDateTimeFormat method returns aah application date format

func AppDefaultI18nLang

func AppDefaultI18nLang() string

AppDefaultI18nLang method returns aah application i18n default language if configured other framework defaults to "en".

func AppDesc added in v0.5.1

func AppDesc() string

AppDesc method returns aah application friendly description from app config otherwise empty string.

func AppHTTPAddress

func AppHTTPAddress() string

AppHTTPAddress method returns aah application HTTP address otherwise empty string

func AppHTTPPort

func AppHTTPPort() string

AppHTTPPort method returns aah application HTTP port number based on `server.port` value. Possible outcomes are user-defined port, `80`, `443` and `8080`.

func AppI18n

func AppI18n() *i18n.I18n

AppI18n method returns aah application I18n store instance.

func AppI18nLocales

func AppI18nLocales() []string

AppI18nLocales returns all the loaded locales from i18n store

func AppImportPath

func AppImportPath() string

AppImportPath method returns the application Go import path.

func AppIsSSLEnabled

func AppIsSSLEnabled() bool

AppIsSSLEnabled method returns true if aah application is enabled with SSL otherwise false.

func AppName

func AppName() string

AppName method returns aah application name from app config otherwise app name of the base directory.

func AppProfile

func AppProfile() string

AppProfile returns aah application configuration profile name For e.g.: dev, prod, etc. Default is `dev`

func AppRouter

func AppRouter() *router.Router

AppRouter method returns aah application router instance.

func AppSecurity

func AppSecurity() *security.Security

AppSecurity method returns the application security instance, which manages the Session, CORS, CSRF, Security Headers, etc.

func AppSessionManager

func AppSessionManager() *session.Manager

AppSessionManager method returns the application session manager. By default session is stateless.

func AppViewEngine

func AppViewEngine() view.Enginer

AppViewEngine method returns aah application view Engine instance.

func Init

func Init(importPath string)

Init method initializes `aah` application, if anything goes wrong during initialize process, it will log it as fatal msg and exit.

func Middlewares

func Middlewares(middlewares ...MiddlewareFunc)

Middlewares method adds given middleware into middleware stack

func OnAfterReply

func OnAfterReply(sef EventCallbackFunc)

OnAfterReply method is to subscribe to aah server `OnAfterReply` extension point. `OnAfterReply` called for every reply from aah server.

Except when

  1. `Reply().Done()`,
  2. `Reply().Redirect(...)` is called.

Refer `aah.Reply.Done()` godoc for more info.

func OnInit

func OnInit(ecb EventCallbackFunc, priority ...int)

OnInit method is to subscribe to aah application `OnInit` event. `OnInit` event published right after the aah application configuration `aah.conf` initialized.

func OnPreReply

func OnPreReply(sef EventCallbackFunc)

OnPreReply method is to subscribe to aah server `OnPreReply` extension point. `OnPreReply` called for every reply from aah server.

Except when

  1. `Reply().Done()`,
  2. `Reply().Redirect(...)` is called.

Refer `aah.Reply.Done()` godoc for more info.

func OnRequest

func OnRequest(sef EventCallbackFunc)

OnRequest method is to subscribe to aah server `OnRequest` extension point. `OnRequest` called for every incoming request.

The `aah.Context` object passed to the extension functions is decorated with the `ctx.SetURL()` and `ctx.SetMethod()` methods. Calls to these methods will impact how the request is routed and can be used for rewrite rules.

Route is not yet populated/evaluated at this point.

func OnShutdown

func OnShutdown(ecb EventCallbackFunc, priority ...int)

OnShutdown method is to subscribe to aah application `OnShutdown` event. `OnShutdown` event pubished right before the aah server is stopped Listening and serving request.

func OnStart

func OnStart(ecb EventCallbackFunc, priority ...int)

OnStart method is to subscribe to aah application `OnStart` event. `OnStart` event pubished right before the aah server listen and serving request.

func PublishEvent

func PublishEvent(eventName string, data interface{})

PublishEvent method publishes events to subscribed callbacks asynchronously. It means each subscribed callback executed via goroutine.

func PublishEventSync

func PublishEventSync(eventName string, data interface{})

PublishEventSync method publishes events to subscribed callbacks synchronously.

func SetAppBuildInfo

func SetAppBuildInfo(bi *BuildInfo)

SetAppBuildInfo method sets the user application build info into aah instance.

func SetAppPackaged added in v0.5.1

func SetAppPackaged(pack bool)

SetAppPackaged method sets the info of binary is packaged or not.

func SetAppProfile

func SetAppProfile(profile string) error

SetAppProfile method sets given profile as current aah application profile.

For Example:

aah.SetAppProfile("prod")

func Shutdown

func Shutdown()

Shutdown method allows aah server to shutdown gracefully with given timeoout in seconds. It's invoked on OS signal `SIGINT` and `SIGTERM`.

Method performs:

  • Graceful server shutdown with timeout by `server.timeout.grace_shutdown`
  • Publishes `OnShutdown` event
  • Exits program with code 0

func Start

func Start()

Start method starts the Go HTTP server based on aah config "server.*".

func SubscribeEvent

func SubscribeEvent(eventName string, ec EventCallback)

SubscribeEvent method is to subscribe to new or existing event.

func SubscribeEventf added in v0.5.1

func SubscribeEventf(eventName string, ecf EventCallbackFunc)

SubscribeEventf method is to subscribe to new or existing event by `EventCallbackFunc`.

func UnsubscribeEvent

func UnsubscribeEvent(eventName string, ec EventCallback)

UnsubscribeEvent method is to unsubscribe by event name and `EventCallback` from app event store.

func UnsubscribeEventf

func UnsubscribeEventf(eventName string, ecf EventCallbackFunc)

UnsubscribeEventf method is to unsubscribe by event name and `EventCallbackFunc` from app event store.

Types

type Binary added in v0.5.1

type Binary struct {
	Path   string
	Reader io.Reader
}

Binary renders given path or io.Reader into response and closes the file.

func (*Binary) Render added in v0.5.1

func (f *Binary) Render(w io.Writer) error

Render method writes File into HTTP response.

type BuildInfo

type BuildInfo struct {
	BinaryName string
	Version    string
	Date       string
}

BuildInfo holds the aah application build information; such as BinaryName, Version and Date.

func AppBuildInfo

func AppBuildInfo() *BuildInfo

AppBuildInfo method return user application version no.

type Context

type Context struct {
	// Req is HTTP request instance
	Req *ahttp.Request

	// Res is HTTP response writer compliant. It is highly recommended to use
	// `Reply()` builder for composing response.
	//
	// Note: If you're using `cxt.Res` directly, don't forget to call
	// `Reply().Done()` so that framework will not intervene with your
	// response.
	Res ahttp.ResponseWriter
	// contains filtered or unexported fields
}

Context type for aah framework, gets embedded in application controller.

Note: this is not standard package `context.Context`.

func (*Context) Abort

func (ctx *Context) Abort()

Abort method sets the abort to true. It means framework will not proceed with next middleware, next interceptor or action based on context it being used. Contexts:

  1. If it's called in the middleware, then middleware chain stops;

framework starts processing response.

  1. If it's called in Before interceptor then Before<Action> interceptor,

mapped <Action>, After<Action> interceptor and After interceptor will not execute; framework starts processing response.

  1. If it's called in Mapped <Action> then After<Action> interceptor and

After interceptor will not execute; framework starts processing response.

func (*Context) AddViewArg

func (ctx *Context) AddViewArg(key string, value interface{}) *Context

AddViewArg method adds given key and value into `viewArgs`. These view args values accessible on templates. Chained call is possible.

func (*Context) IsStaticRoute added in v0.5.1

func (ctx *Context) IsStaticRoute() bool

IsStaticRoute method returns true if it's static route otherwise false.

func (*Context) Msg

func (ctx *Context) Msg(key string, args ...interface{}) string

Msg method returns the i18n value for given key otherwise empty string returned.

func (*Context) Msgl

func (ctx *Context) Msgl(locale *ahttp.Locale, key string, args ...interface{}) string

Msgl method returns the i18n value for given local and key otherwise empty string returned.

func (*Context) Reply

func (ctx *Context) Reply() *Reply

Reply method gives you control and convenient way to write a response effectively.

func (*Context) Reset

func (ctx *Context) Reset()

Reset method resets context instance for reuse.

func (*Context) ReverseURL

func (ctx *Context) ReverseURL(routeName string, args ...interface{}) string

ReverseURL method returns the URL for given route name and args. See `Domain.ReverseURL` for more information.

func (*Context) ReverseURLm

func (ctx *Context) ReverseURLm(routeName string, args map[string]interface{}) string

ReverseURLm method returns the URL for given route name and key-value paris. See `Domain.ReverseURLm` for more information.

func (*Context) Session

func (ctx *Context) Session() *session.Session

Session method always returns `session.Session` object. Use `Session.IsNew` to identify whether sesison is newly created or restored from the request which was already created.

func (*Context) SetMethod

func (ctx *Context) SetMethod(method string)

SetMethod method is to set the request `Method` to change the behaviour of request routing. Ideal for URL rewrting.

Note: This method only takes effect on `OnRequest` server event.

func (*Context) SetURL

func (ctx *Context) SetURL(pathURL string)

SetURL method is to set the request URL to change the behaviour of request routing. Ideal for URL rewrting. URL can be relative or absolute URL.

Note: This method only takes effect on `OnRequest` server event.

func (*Context) ViewArgs

func (ctx *Context) ViewArgs() map[string]interface{}

ViewArgs method returns aah framework and request related info that can be used in template or view rendering, etc.

type Data

type Data map[string]interface{}

Data type used for convenient data type of map[string]interface{}

type Event

type Event struct {
	Name string
	Data interface{}
}

Event type holds the details of single event.

type EventCallback

type EventCallback struct {
	Callback EventCallbackFunc
	CallOnce bool
	// contains filtered or unexported fields
}

EventCallback type is store particular callback in priority for calling sequance.

type EventCallbackFunc

type EventCallbackFunc func(e *Event)

EventCallbackFunc is signature of event callback function.

type EventCallbacks

type EventCallbacks []EventCallback

EventCallbacks type is slice of `EventCallback` type.

func (EventCallbacks) Len

func (ec EventCallbacks) Len() int

Sort interface for EventCallbacks

func (EventCallbacks) Less

func (ec EventCallbacks) Less(i, j int) bool

func (EventCallbacks) Swap

func (ec EventCallbacks) Swap(i, j int)

type EventStore

type EventStore struct {
	// contains filtered or unexported fields
}

EventStore type holds all the events belongs to aah application.

func AppEventStore

func AppEventStore() *EventStore

AppEventStore method returns aah application event store.

func (*EventStore) IsEventExists

func (es *EventStore) IsEventExists(eventName string) bool

IsEventExists method returns true if given event is exists in the event store otherwise false.

func (*EventStore) Publish

func (es *EventStore) Publish(e *Event)

Publish method publishes events to subscribed callbacks asynchronously. It means each subscribed callback executed via goroutine.

func (*EventStore) PublishSync

func (es *EventStore) PublishSync(e *Event)

PublishSync method publishes events to subscribed callbacks synchronously.

func (*EventStore) Subscribe

func (es *EventStore) Subscribe(event string, ec EventCallback)

Subscribe method is to subscribe any event with event callback info.

func (*EventStore) SubscriberCount

func (es *EventStore) SubscriberCount(eventName string) int

SubscriberCount method returns subscriber count for given event name.

func (*EventStore) Unsubscribe

func (es *EventStore) Unsubscribe(event string, callback EventCallbackFunc)

Unsubscribe method is to unsubscribe any callback from event store by event.

type HTML

type HTML struct {
	Template *template.Template
	Layout   string
	Filename string
	ViewArgs Data
}

HTML renders the given HTML into response with given model data.

func (*HTML) Render

func (h *HTML) Render(w io.Writer) error

Render method renders the HTML template into HTTP response.

type JSON

type JSON struct {
	IsJSONP  bool
	Callback string
	Data     interface{}
}

JSON renders the response JSON content.

func (*JSON) Render

func (j *JSON) Render(w io.Writer) error

Render method writes JSON into HTTP response.

type MethodInfo

type MethodInfo struct {
	Name       string
	Parameters []*ParameterInfo
}

MethodInfo holds information of single method information in the controller.

type Middleware

type Middleware struct {
	// contains filtered or unexported fields
}

Middleware struct is to implement aah framework middleware chain.

func (*Middleware) Next

func (mw *Middleware) Next(ctx *Context)

Next method calls next middleware in the chain if available.

type MiddlewareFunc

type MiddlewareFunc func(ctx *Context, m *Middleware)

MiddlewareFunc func type is aah framework middleware signature.

func ToMiddleware

func ToMiddleware(handler interface{}) MiddlewareFunc

ToMiddleware method expands the possibilities. It helps Golang community to convert the third-party or your own net/http middleware into `aah.MiddlewareFunc`

You can register below handler types: 1) aah.ToMiddleware(h http.Handler) 2) aah.ToMiddleware(h http.HandlerFunc) 3) aah.ToMiddleware(func(w http.ResponseWriter, r *http.Request))

type ParameterInfo

type ParameterInfo struct {
	Name string
	Type reflect.Type
}

ParameterInfo holds information of single parameter in the method.

type Render

type Render interface {
	Render(io.Writer) error
}

Render interface

type Reply

type Reply struct {
	Code     int
	ContType string
	Hdr      http.Header
	Rdr      Render
	// contains filtered or unexported fields
}

Reply gives you control and convenient way to write a response effectively.

func NewReply

func NewReply() *Reply

NewReply method returns the new instance on reply builder.

func (*Reply) Accepted

func (r *Reply) Accepted() *Reply

Accepted method sets the HTTP Code as 202 RFC 7231, 6.3.3.

func (*Reply) BadRequest

func (r *Reply) BadRequest() *Reply

BadRequest method sets the HTTP Code as 400 RFC 7231, 6.5.1.

func (*Reply) Binary added in v0.5.1

func (r *Reply) Binary(b []byte) *Reply

Binary method writes given bytes into response. It auto-detects the content type of the given bytes if header `Content-Type` is not set.

func (*Reply) Body added in v0.5.1

func (r *Reply) Body() *bytes.Buffer

Body method returns the response body buffer. It might be nil if the -

  1. Response is written successfully on the wire
  2. Response is not yet rendered
  3. Static files, since response is written via `http.ServeContent`

func (*Reply) Conflict

func (r *Reply) Conflict() *Reply

Conflict method sets the HTTP Code as 409 RFC 7231, 6.5.8.

func (*Reply) ContentType

func (r *Reply) ContentType(contentType string) *Reply

ContentType method sets given Content-Type string for the response. Also Reply instance provides easy to use method for very frequently used Content-Type(s).

By default aah framework try to determine response 'Content-Type' from 'ahttp.Request.AcceptContentType'.

func (*Reply) Cookie

func (r *Reply) Cookie(cookie *http.Cookie) *Reply

Cookie method adds the give HTTP cookie into response.

func (*Reply) Created

func (r *Reply) Created() *Reply

Created method sets the HTTP Code as 201 RFC 7231, 6.3.2.

func (*Reply) DisableGzip added in v0.5.1

func (r *Reply) DisableGzip() *Reply

DisableGzip method allows you disable Gzip for the reply. By default every response is gzip compressed if the client supports it and gzip enabled in app config.

func (*Reply) Done

func (r *Reply) Done() *Reply

Done method indicates to framework and informing that reply has already been sent via `aah.Context.Res` and that no further action is needed. Framework doesn't intervene with response if this method called.

func (*Reply) File

func (r *Reply) File(file string) *Reply

File method send the given as file to client. It auto-detects the content type of the file if `Content-Type` is not set.

func (*Reply) FileDownload added in v0.5.1

func (r *Reply) FileDownload(file, targetName string) *Reply

FileDownload method send the given as file to client as a download. It sets the `Content-Disposition` as `attachment` with given target name and auto-detects the content type of the file if `Content-Type` is not set.

func (*Reply) FileInline

func (r *Reply) FileInline(file, targetName string) *Reply

FileInline method send the given as file to client to display. For e.g.: display within the browser. It sets the `Content-Disposition` as

`inline` with given target name and auto-detects the content type of

the file if `Content-Type` is not set.

func (*Reply) Forbidden

func (r *Reply) Forbidden() *Reply

Forbidden method sets the HTTP Code as 403 RFC 7231, 6.5.3.

func (*Reply) Found

func (r *Reply) Found() *Reply

Found method sets the HTTP Code as 302 RFC 7231, 6.4.3.

func (*Reply) HTML

func (r *Reply) HTML(data Data) *Reply

HTML method renders given data with auto mapped template name and layout by framework. Also it sets HTTP 'Content-Type' as 'text/html; charset=utf-8'. By default aah framework renders the template based on

  1. path 'Controller.Action',

  2. view extension 'view.ext' and

  3. case sensitive 'view.case_sensitive' from aah.conf

  4. default layout is 'master.html' E.g.: Controller: App Action: Login view.ext: html

    template => /views/pages/app/login.html => /views/pages/App/Login.html

func (*Reply) HTMLf added in v0.5.1

func (r *Reply) HTMLf(filename string, data Data) *Reply

HTMLf method renders based on given filename and data. Refer `Reply.HTML(...)` method.

func (*Reply) HTMLl

func (r *Reply) HTMLl(layout string, data Data) *Reply

HTMLl method renders based on given layout and data. Refer `Reply.HTML(...)` method.

func (*Reply) HTMLlf

func (r *Reply) HTMLlf(layout, filename string, data Data) *Reply

HTMLlf method renders based on given layout, filename and data. Refer `Reply.HTML(...)` method.

func (*Reply) Header

func (r *Reply) Header(key, value string) *Reply

Header method sets the given header and value for the response. If value == "", then this method deletes the header. Note: It overwrites existing header value if it's present.

func (*Reply) HeaderAppend

func (r *Reply) HeaderAppend(key, value string) *Reply

HeaderAppend method appends the given header and value for the response. Note: It does not overwrite existing header, it just appends to it.

func (*Reply) InternalServerError

func (r *Reply) InternalServerError() *Reply

InternalServerError method sets the HTTP Code as 500 RFC 7231, 6.6.1.

func (*Reply) IsContentTypeSet

func (r *Reply) IsContentTypeSet() bool

IsContentTypeSet method returns true if Content-Type is set otherwise false.

func (*Reply) JSON

func (r *Reply) JSON(data interface{}) *Reply

JSON method renders given data as JSON response. Also it sets HTTP 'Content-Type' as 'application/json; charset=utf-8'. Response rendered pretty if 'render.pretty' is true.

func (*Reply) JSONP

func (r *Reply) JSONP(data interface{}, callback string) *Reply

JSONP method renders given data as JSONP response with callback. Also it sets HTTP 'Content-Type' as 'application/json; charset=utf-8'. Response rendered pretty if 'render.pretty' is true. Note: If `callback` param is empty and `callback` query param is exists then query param value will be used.

func (*Reply) MethodNotAllowed

func (r *Reply) MethodNotAllowed() *Reply

MethodNotAllowed method sets the HTTP Code as 405 RFC 7231, 6.5.5.

func (*Reply) MovedPermanently

func (r *Reply) MovedPermanently() *Reply

MovedPermanently method sets the HTTP Code as 301 RFC 7231, 6.4.2.

func (*Reply) NoContent

func (r *Reply) NoContent() *Reply

NoContent method sets the HTTP Code as 204 RFC 7231, 6.3.5.

func (*Reply) NotFound

func (r *Reply) NotFound() *Reply

NotFound method sets the HTTP Code as 404 RFC 7231, 6.5.4.

func (*Reply) Ok

func (r *Reply) Ok() *Reply

Ok method sets the HTTP Code as 200 RFC 7231, 6.3.1.

func (*Reply) Readfrom added in v0.5.1

func (r *Reply) Readfrom(reader io.Reader) *Reply

Readfrom method reads the data from given reader and writes into response. It auto-detects the content type of the file if `Content-Type` is not set. Note: Method will close the reader after serving if it's satisfies the `io.Closer`.

func (*Reply) Redirect

func (r *Reply) Redirect(redirectURL string) *Reply

Redirect method redirect the to given redirect URL with status 302.

func (*Reply) RedirectSts added in v0.5.1

func (r *Reply) RedirectSts(redirectURL string, code int) *Reply

RedirectSts method redirect the to given redirect URL and status code.

func (*Reply) Reset added in v0.5.1

func (r *Reply) Reset()

Reset method resets the values into initialized state.

func (*Reply) ServiceUnavailable

func (r *Reply) ServiceUnavailable() *Reply

ServiceUnavailable method sets the HTTP Code as 503 RFC 7231, 6.6.4.

func (*Reply) Status

func (r *Reply) Status(code int) *Reply

Status method sets the HTTP Code code for the response. Also Reply instance provides easy to use method for very frequently used HTTP Status Codes reference: http://www.restapitutorial.com/httpCodecodes.html

func (*Reply) TemporaryRedirect

func (r *Reply) TemporaryRedirect() *Reply

TemporaryRedirect method sets the HTTP Code as 307 RFC 7231, 6.4.7.

func (*Reply) Text

func (r *Reply) Text(format string, values ...interface{}) *Reply

Text method renders given data as Plain Text response with given values. Also it sets HTTP Content-Type as 'text/plain; charset=utf-8'.

func (*Reply) Unauthorized

func (r *Reply) Unauthorized() *Reply

Unauthorized method sets the HTTP Code as 401 RFC 7235, 3.1.

func (*Reply) XML

func (r *Reply) XML(data interface{}) *Reply

XML method renders given data as XML response. Also it sets HTTP Content-Type as 'application/xml; charset=utf-8'. Response rendered pretty if 'render.pretty' is true.

type Text

type Text struct {
	Format string
	Values []interface{}
}

Text renders the response as plain text

func (*Text) Render

func (t *Text) Render(w io.Writer) error

Render method writes Text into HTTP response.

type XML

type XML struct {
	Data interface{}
}

XML renders the response XML content.

func (*XML) Render

func (x *XML) Render(w io.Writer) error

Render method writes XML into HTTP response.

Jump to

Keyboard shortcuts

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