system

package
v0.0.0-...-a29ada9 Latest Latest
Warning

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

Go to latest
Published: May 25, 2019 License: ISC, MIT Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func APIInvalidHandler

func APIInvalidHandler(w http.ResponseWriter, _ *http.Request)

APIInvalidHandler responds to invalid requests. It matches the signature of http.HanderFunc.

func DisableLog

func DisableLog()

DisableLog disables all library log output. Logging output is disabled by default until either UseLogger or SetLogWriter are called.

func GojiWebHandlerFunc

func GojiWebHandlerFunc(h http.HandlerFunc) web.HandlerFunc

GojiWebHandlerFunc is an adaptor that allows an http.HanderFunc where a web.HandlerFunc is required.

func ReloadTemplatesSig

func ReloadTemplatesSig(app *Application)

func UseLogger

func UseLogger(logger slog.Logger)

UseLogger uses a specified Logger to output package logging info. This should be used in preference to SetLogWriter if the caller is also using slog.

func WriteAPIResponse

func WriteAPIResponse(resp *APIResponse, code int, w http.ResponseWriter)

WriteAPIResponse marshals the given poolapi.Response into the http.ResponseWriter and sets HTTP status code.

Types

type APIResponse

type APIResponse struct {
	Status  string      `json:"status"`
	Code    codes.Code  `json:"code"`
	Message string      `json:"message"`
	Data    interface{} `json:"data,omitempty"`
}

APIResponse is the response struct used by the server to marshal to a JSON object. Data should be another struct with JSON tags.

func NewAPIResponse

func NewAPIResponse(status string, code codes.Code, message string, data interface{}) *APIResponse

NewAPIResponse is a constructor for APIResponse.

type Application

type Application struct {
	APISecret     string
	Template      *template.Template
	TemplatesPath string
	Store         *sessions.CookieStore
	DbMap         *gorp.DbMap
}

func (*Application) APIHandler

func (application *Application) APIHandler(apiFun func(web.C, *http.Request) *APIResponse) web.HandlerFunc

APIHandler executes an API processing function that provides an *APIResponse required by WriteAPIResponse. It returns an web.HandlerFunc so it can be used with a goji router.

func (*Application) ApplyAPI

func (application *Application) ApplyAPI(c *web.C, h http.Handler) http.Handler

func (*Application) ApplyAuth

func (application *Application) ApplyAuth(c *web.C, h http.Handler) http.Handler

func (*Application) ApplyCaptcha

func (application *Application) ApplyCaptcha(c *web.C, h http.Handler) http.Handler

func (*Application) ApplyDbMap

func (application *Application) ApplyDbMap(c *web.C, h http.Handler) http.Handler

func (*Application) ApplyGzip

func (application *Application) ApplyGzip(c *web.C, h http.Handler) http.Handler

func (*Application) ApplySessions

func (application *Application) ApplySessions(c *web.C, h http.Handler) http.Handler

Makes sure controllers can have access to session

func (*Application) ApplyTemplates

func (application *Application) ApplyTemplates(c *web.C, h http.Handler) http.Handler

Makes sure templates are stored in the context

func (*Application) Close

func (application *Application) Close()

func (*Application) Init

func (application *Application) Init(APISecret string, baseURL string,
	cookieSecret string, cookieSecure bool, DBHost string, DBName string,
	DBPassword string,
	DBPort string, DBUser string)

func (*Application) LoadTemplates

func (application *Application) LoadTemplates(templatePath string) error

func (*Application) Route

func (application *Application) Route(controller interface{}, route string) web.HandlerFunc

type Controller

type Controller struct {
}

func (*Controller) CheckPasswordResetToken

func (controller *Controller) CheckPasswordResetToken(tokenStr string, c web.C) (models.UserToken, *models.PasswordReset, bool)

CheckPasswordResetToken checks that the input token string is valid, recognized by the DB, and not expired. Flash messages are added to the session for any token failure, and the return indicates if all checks have passed. The UserToken and PasswordReset objects are also returned.

func (*Controller) GetDbMap

func (controller *Controller) GetDbMap(c web.C) *gorp.DbMap

func (*Controller) GetSession

func (controller *Controller) GetSession(c web.C) *sessions.Session

func (*Controller) GetTemplate

func (controller *Controller) GetTemplate(c web.C) *template.Template

func (*Controller) IsCaptchaDone

func (controller *Controller) IsCaptchaDone(c web.C) bool

func (*Controller) Parse

func (controller *Controller) Parse(t *template.Template, name string, data interface{}) string

Jump to

Keyboard shortcuts

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