Documentation
¶
Index ¶
- Constants
- func EnableCors(respWriter *http.ResponseWriter, origin string, methods string)
- func EnableCorsAllOrigin(respWriter *http.ResponseWriter)
- type GinBasedWebApiHandler
- func (handler *GinBasedWebApiHandler) DELETE(routerGroup *g.RouterGroup, path string, f func(ctx *g.Context))
- func (handler *GinBasedWebApiHandler) GET(routerGroup *g.RouterGroup, path string, f func(ctx *g.Context))
- func (handler *GinBasedWebApiHandler) PATCH(routerGroup *g.RouterGroup, path string, f func(ctx *g.Context))
- func (handler *GinBasedWebApiHandler) POST(routerGroup *g.RouterGroup, path string, f func(ctx *g.Context))
- func (handler *GinBasedWebApiHandler) PUT(routerGroup *g.RouterGroup, path string, f func(ctx *g.Context))
- type MuxBasedWebApiHandler
Constants ¶
View Source
const ( // AccessControlAllowMethodsHeader - CORS Header that says what HTTP Methods are allowed to specific endpoint AccessControlAllowMethodsHeader = "Access-Control-Allow-Methods" AccessControlAllowOriginHeader = "Access-Control-Allow-Origin" AccessControlAllowHeadersHeader = "Access-Control-Allow-Headers" // Value that allow all headers AnyOrigin = "*" AllowAllHeaderValues = "*" )
Variables ¶
This section is empty.
Functions ¶
func EnableCors ¶
func EnableCors(respWriter *http.ResponseWriter, origin string, methods string)
EnableCors
This function sets CORS headers to specified origin. In the future it should take array with allowed origins (ip addresses and/or hostnames) * Parameters: * - respWriter - gorilla/mux response writer * - origin - domain i.e. example.com or http://127.0.0.1:3000 * - methods - allowed methods i.e. GET, POST, OPTIONS * Returns nothing
func EnableCorsAllOrigin ¶
func EnableCorsAllOrigin(respWriter *http.ResponseWriter)
EnableCorsAllOrigin
This function sets CORS headers to allow any origin. In the future it should take array with allowed origins (ip addresses and/or hostnames) * Parameters: * - respWriter - gorilla/mux response writer * Returns nothing
Types ¶
type GinBasedWebApiHandler ¶ added in v1.5.0
type GinBasedWebApiHandler struct {
AllowCors bool
Origin string
Router *g.Engine
// contains filtered or unexported fields
}
func NewGinBasedWebApiHandler ¶ added in v1.5.0
func NewGinBasedWebApiHandler(allowCors bool, origin string, opts ...g.OptionFunc) *GinBasedWebApiHandler
func (*GinBasedWebApiHandler) DELETE ¶ added in v1.5.0
func (handler *GinBasedWebApiHandler) DELETE(routerGroup *g.RouterGroup, path string, f func(ctx *g.Context))
func (*GinBasedWebApiHandler) GET ¶ added in v1.5.0
func (handler *GinBasedWebApiHandler) GET(routerGroup *g.RouterGroup, path string, f func(ctx *g.Context))
func (*GinBasedWebApiHandler) PATCH ¶ added in v1.5.0
func (handler *GinBasedWebApiHandler) PATCH(routerGroup *g.RouterGroup, path string, f func(ctx *g.Context))
func (*GinBasedWebApiHandler) POST ¶ added in v1.5.0
func (handler *GinBasedWebApiHandler) POST(routerGroup *g.RouterGroup, path string, f func(ctx *g.Context))
func (*GinBasedWebApiHandler) PUT ¶ added in v1.5.0
func (handler *GinBasedWebApiHandler) PUT(routerGroup *g.RouterGroup, path string, f func(ctx *g.Context))
type MuxBasedWebApiHandler ¶ added in v1.5.0
type MuxBasedWebApiHandler struct {
AllowCors bool
Origin string
Router *m.Router
// contains filtered or unexported fields
}
MuxBasedWebApiHandler is a struct that encapsulates Router and CORS settings
func NewMuxBasedWebApiHandler ¶ added in v1.5.0
func NewMuxBasedWebApiHandler(allowCors bool, origin string) *MuxBasedWebApiHandler
NewMuxBasedWebApiHandler
This function creates instance of MuxBasedWebApiHandler and inits properties with arguments values * Parameters: * - allowCors - represents should be course configured (true) or not * - origin - represents ip/domain or * (AnyOrigin) name which will be used response headers
func (*MuxBasedWebApiHandler) HandleFunc ¶ added in v1.5.0
func (handler *MuxBasedWebApiHandler) HandleFunc(router *m.Router, path string, f func(http.ResponseWriter, *http.Request), handlerMethods ...string) *m.Route
HandleFunc
This is a Proxy function that assign handler to handle specific route by url but also simultaneously it configures CORS handler. * This function is almost equal to mux.Router.HandleFunc except fact that we passing * We are working here with route names for OPTIONS handler i.e. we have REST resource /api/good and 2 separate handlers for GET and POST * therefore for proper CORS handle we should respond on OPTIONS /api/good with empty body and header AccessControlAllowMethodsHeader with * values OPTIONS, GET, POST. Our HandleFunc allow to reduce a complexity of router config because using our HandleFunc we take service on * handling OPTIONS method by our HandleFunc. * Parameters: * - router - router to which we assign handler func this is implemented for sub routers supports * - path - url of route (request) * - f - handler function that handles request * Return created route like router.HandleFunc do
Click to show internal directories.
Click to hide internal directories.