gin

package module
v1.1.7 Latest Latest
Warning

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

Go to latest
Published: Mar 24, 2024 License: MIT Imports: 37 Imported by: 1

README

Gin

Doc Go Release Test Report Card Codecov License

Gin http driver for Goravel.

Version

goravel/gin goravel/framework
v1.1.x v1.13.x

Install

  1. Add package
go get -u github.com/goravel/gin
  1. Register service provider
// config/app.go
import "github.com/goravel/gin"

"providers": []foundation.ServiceProvider{
    ...
    &gin.ServiceProvider{},
}
  1. Add gin config to config/http.go file
// config/http.go
import (
    ginfacades "github.com/goravel/gin/facades"
    "github.com/gin-gonic/gin/render"
    "github.com/goravel/gin"
)

"default": "gin",

"drivers": map[string]any{
    "gin": map[string]any{
        "route": func() (route.Route, error) {
            return ginfacades.Route(), nil
        },
        // Optional, default is http/template
        "template": func() (render.HTMLRender, error) {
            return gin.DefaultTemplate()
        },
    },
},

Testing

Run command below to run test:

go test ./...

Documentation

Index

Constants

View Source
const RouteBinding = "goravel.gin.route"

Variables

View Source
var (
	App              foundation.Application
	ConfigFacade     config.Config
	LogFacade        log.Log
	ValidationFacade validation.Validation
	ViewFacade       http.View
)

Functions

func Background

func Background() http.Context

func Cors added in v1.1.4

func Cors() http.Middleware

func DefaultTemplate added in v1.1.4

func DefaultTemplate() (*render.HTMLProduction, error)

DefaultTemplate creates a TemplateRender instance with default options.

func NewContext added in v1.1.0

func NewContext(ctx *gin.Context) http.Context

func NewContextRequest added in v1.1.4

func NewContextRequest(ctx *Context, log log.Log, validation contractsvalidate.Validation) contractshttp.ContextRequest

func NewGinSuccess

func NewGinSuccess(instance *gin.Context) contractshttp.ResponseSuccess

func NewGroup added in v1.1.0

func NewGroup(config config.Config, instance gin.IRouter, prefix string, originMiddlewares []httpcontract.Middleware, lastMiddlewares []httpcontract.Middleware) route.Router

func NewStatus added in v1.1.4

func NewStatus(instance *gin.Context, code int) contractshttp.ResponseSuccess

func NewTemplate added in v1.1.4

func NewTemplate(options RenderOptions) (*render.HTMLProduction, error)

func ResponseMiddleware added in v1.1.0

func ResponseMiddleware() contractshttp.Middleware

func Tls added in v1.1.4

Types

type BodyWriter

type BodyWriter struct {
	gin.ResponseWriter
	// contains filtered or unexported fields
}

func (*BodyWriter) Body

func (w *BodyWriter) Body() *bytes.Buffer

func (*BodyWriter) Header added in v1.1.0

func (w *BodyWriter) Header() http.Header

func (*BodyWriter) Write

func (w *BodyWriter) Write(b []byte) (int, error)

func (*BodyWriter) WriteString

func (w *BodyWriter) WriteString(s string) (int, error)

type Context added in v1.1.0

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

func (*Context) Context added in v1.1.0

func (c *Context) Context() context.Context

func (*Context) Deadline added in v1.1.0

func (c *Context) Deadline() (deadline time.Time, ok bool)

func (*Context) Done added in v1.1.0

func (c *Context) Done() <-chan struct{}

func (*Context) Err added in v1.1.0

func (c *Context) Err() error

func (*Context) Instance added in v1.1.0

func (c *Context) Instance() *gin.Context

func (*Context) Request added in v1.1.0

func (c *Context) Request() http.ContextRequest

func (*Context) Response added in v1.1.0

func (c *Context) Response() http.ContextResponse

func (*Context) Value added in v1.1.0

func (c *Context) Value(key any) any

func (*Context) WithValue added in v1.1.0

func (c *Context) WithValue(key string, value any)

type ContextRequest added in v1.1.4

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

func (*ContextRequest) AbortWithStatus added in v1.1.4

func (r *ContextRequest) AbortWithStatus(code int)

func (*ContextRequest) AbortWithStatusJson added in v1.1.4

func (r *ContextRequest) AbortWithStatusJson(code int, jsonObj any)

func (*ContextRequest) All added in v1.1.4

func (r *ContextRequest) All() map[string]any

func (*ContextRequest) Bind added in v1.1.4

func (r *ContextRequest) Bind(obj any) error

func (*ContextRequest) File added in v1.1.4

func (*ContextRequest) Form added in v1.1.4

func (r *ContextRequest) Form(key string, defaultValue ...string) string

func (*ContextRequest) FullUrl added in v1.1.4

func (r *ContextRequest) FullUrl() string

func (*ContextRequest) Header added in v1.1.4

func (r *ContextRequest) Header(key string, defaultValue ...string) string

func (*ContextRequest) Headers added in v1.1.4

func (r *ContextRequest) Headers() http.Header

func (*ContextRequest) Host added in v1.1.4

func (r *ContextRequest) Host() string

func (*ContextRequest) Input added in v1.1.4

func (r *ContextRequest) Input(key string, defaultValue ...string) string

func (*ContextRequest) InputArray added in v1.1.4

func (r *ContextRequest) InputArray(key string, defaultValue ...[]string) []string

func (*ContextRequest) InputBool added in v1.1.4

func (r *ContextRequest) InputBool(key string, defaultValue ...bool) bool

func (*ContextRequest) InputInt added in v1.1.4

func (r *ContextRequest) InputInt(key string, defaultValue ...int) int

func (*ContextRequest) InputInt64 added in v1.1.4

func (r *ContextRequest) InputInt64(key string, defaultValue ...int64) int64

func (*ContextRequest) InputMap added in v1.1.4

func (r *ContextRequest) InputMap(key string, defaultValue ...map[string]string) map[string]string

func (*ContextRequest) Ip added in v1.1.4

func (r *ContextRequest) Ip() string

func (*ContextRequest) Json added in v1.1.4

func (r *ContextRequest) Json(key string, defaultValue ...string) string

func (*ContextRequest) Method added in v1.1.4

func (r *ContextRequest) Method() string

func (*ContextRequest) Next added in v1.1.4

func (r *ContextRequest) Next()

func (*ContextRequest) Origin added in v1.1.4

func (r *ContextRequest) Origin() *http.Request

func (*ContextRequest) Path added in v1.1.4

func (r *ContextRequest) Path() string

func (*ContextRequest) Queries added in v1.1.4

func (r *ContextRequest) Queries() map[string]string

func (*ContextRequest) Query added in v1.1.4

func (r *ContextRequest) Query(key string, defaultValue ...string) string

func (*ContextRequest) QueryArray added in v1.1.4

func (r *ContextRequest) QueryArray(key string) []string

func (*ContextRequest) QueryBool added in v1.1.4

func (r *ContextRequest) QueryBool(key string, defaultValue ...bool) bool

func (*ContextRequest) QueryInt added in v1.1.4

func (r *ContextRequest) QueryInt(key string, defaultValue ...int) int

func (*ContextRequest) QueryInt64 added in v1.1.4

func (r *ContextRequest) QueryInt64(key string, defaultValue ...int64) int64

func (*ContextRequest) QueryMap added in v1.1.4

func (r *ContextRequest) QueryMap(key string) map[string]string

func (*ContextRequest) Route added in v1.1.4

func (r *ContextRequest) Route(key string) string

func (*ContextRequest) RouteInt added in v1.1.4

func (r *ContextRequest) RouteInt(key string) int

func (*ContextRequest) RouteInt64 added in v1.1.4

func (r *ContextRequest) RouteInt64(key string) int64

func (*ContextRequest) Url added in v1.1.4

func (r *ContextRequest) Url() string

func (*ContextRequest) Validate added in v1.1.4

func (r *ContextRequest) Validate(rules map[string]string, options ...contractsvalidate.Option) (contractsvalidate.Validator, error)

func (*ContextRequest) ValidateRequest added in v1.1.4

func (r *ContextRequest) ValidateRequest(request contractshttp.FormRequest) (contractsvalidate.Errors, error)

type ContextResponse added in v1.1.4

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

func NewContextResponse added in v1.1.4

func NewContextResponse(instance *gin.Context, origin contractshttp.ResponseOrigin) *ContextResponse

func (*ContextResponse) Data added in v1.1.4

func (r *ContextResponse) Data(code int, contentType string, data []byte) contractshttp.Response

func (*ContextResponse) Download added in v1.1.4

func (r *ContextResponse) Download(filepath, filename string) contractshttp.Response

func (*ContextResponse) File added in v1.1.4

func (r *ContextResponse) File(filepath string) contractshttp.Response

func (*ContextResponse) Flush added in v1.1.4

func (r *ContextResponse) Flush()

func (*ContextResponse) Header added in v1.1.4

func (r *ContextResponse) Header(key, value string) contractshttp.ContextResponse

func (*ContextResponse) Json added in v1.1.4

func (r *ContextResponse) Json(code int, obj any) contractshttp.Response

func (*ContextResponse) Origin added in v1.1.4

func (*ContextResponse) Redirect added in v1.1.4

func (r *ContextResponse) Redirect(code int, location string) contractshttp.Response

func (*ContextResponse) Status added in v1.1.4

func (*ContextResponse) String added in v1.1.4

func (r *ContextResponse) String(code int, format string, values ...any) contractshttp.Response

func (*ContextResponse) Success added in v1.1.4

func (*ContextResponse) View added in v1.1.4

func (*ContextResponse) Writer added in v1.1.4

func (r *ContextResponse) Writer() http.ResponseWriter

type DataResponse added in v1.1.4

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

func (*DataResponse) Render added in v1.1.4

func (r *DataResponse) Render() error

type Delims added in v1.1.4

type Delims struct {
	Left  string
	Right string
}

type DownloadResponse added in v1.1.4

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

func (*DownloadResponse) Render added in v1.1.4

func (r *DownloadResponse) Render() error

type FileResponse added in v1.1.4

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

func (*FileResponse) Render added in v1.1.4

func (r *FileResponse) Render() error

type Group added in v1.1.0

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

func (*Group) Any added in v1.1.0

func (r *Group) Any(relativePath string, handler httpcontract.HandlerFunc)

func (*Group) Delete added in v1.1.0

func (r *Group) Delete(relativePath string, handler httpcontract.HandlerFunc)

func (*Group) Get added in v1.1.0

func (r *Group) Get(relativePath string, handler httpcontract.HandlerFunc)

func (*Group) Group added in v1.1.0

func (r *Group) Group(handler route.GroupFunc)

func (*Group) Middleware added in v1.1.0

func (r *Group) Middleware(middlewares ...httpcontract.Middleware) route.Router

func (*Group) Options added in v1.1.0

func (r *Group) Options(relativePath string, handler httpcontract.HandlerFunc)

func (*Group) Patch added in v1.1.0

func (r *Group) Patch(relativePath string, handler httpcontract.HandlerFunc)

func (*Group) Post added in v1.1.0

func (r *Group) Post(relativePath string, handler httpcontract.HandlerFunc)

func (*Group) Prefix added in v1.1.0

func (r *Group) Prefix(addr string) route.Router

func (*Group) Put added in v1.1.0

func (r *Group) Put(relativePath string, handler httpcontract.HandlerFunc)

func (*Group) Resource added in v1.1.0

func (r *Group) Resource(relativePath string, controller httpcontract.ResourceController)

func (*Group) Static added in v1.1.0

func (r *Group) Static(relativePath, root string)

func (*Group) StaticFS added in v1.1.0

func (r *Group) StaticFS(relativePath string, fs http.FileSystem)

func (*Group) StaticFile added in v1.1.0

func (r *Group) StaticFile(relativePath, filepath string)

type HtmlResponse added in v1.1.4

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

func (*HtmlResponse) Render added in v1.1.4

func (r *HtmlResponse) Render() error

type JsonResponse added in v1.1.4

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

func (*JsonResponse) Render added in v1.1.4

func (r *JsonResponse) Render() error

type RedirectResponse added in v1.1.4

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

func (*RedirectResponse) Render added in v1.1.4

func (r *RedirectResponse) Render() error

type RenderOptions added in v1.1.4

type RenderOptions struct {
	Delims  *Delims
	FuncMap template.FuncMap
}

type Route added in v1.1.0

type Route struct {
	route.Router
	// contains filtered or unexported fields
}

func NewRoute added in v1.1.0

func NewRoute(config config.Config, parameters map[string]any) (*Route, error)

func (*Route) Fallback added in v1.1.0

func (r *Route) Fallback(handler httpcontract.HandlerFunc)

func (*Route) GlobalMiddleware added in v1.1.0

func (r *Route) GlobalMiddleware(middlewares ...httpcontract.Middleware)

func (*Route) Run added in v1.1.0

func (r *Route) Run(host ...string) error

func (*Route) RunTLS added in v1.1.0

func (r *Route) RunTLS(host ...string) error

func (*Route) RunTLSWithCert added in v1.1.0

func (r *Route) RunTLSWithCert(host, certFile, keyFile string) error

func (*Route) ServeHTTP added in v1.1.0

func (r *Route) ServeHTTP(writer http.ResponseWriter, request *http.Request)

type ServiceProvider

type ServiceProvider struct{}

func (*ServiceProvider) Boot

func (receiver *ServiceProvider) Boot(app foundation.Application)

func (*ServiceProvider) Register

func (receiver *ServiceProvider) Register(app foundation.Application)

type Status added in v1.1.0

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

func (*Status) Data added in v1.1.0

func (r *Status) Data(contentType string, data []byte) contractshttp.Response

func (*Status) Json added in v1.1.0

func (r *Status) Json(obj any) contractshttp.Response

func (*Status) String added in v1.1.0

func (r *Status) String(format string, values ...any) contractshttp.Response

type StringResponse added in v1.1.4

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

func (*StringResponse) Render added in v1.1.4

func (r *StringResponse) Render() error

type Success added in v1.1.0

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

func (*Success) Data added in v1.1.0

func (r *Success) Data(contentType string, data []byte) contractshttp.Response

func (*Success) Json added in v1.1.0

func (r *Success) Json(obj any) contractshttp.Response

func (*Success) String added in v1.1.0

func (r *Success) String(format string, values ...any) contractshttp.Response

type View added in v1.1.4

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

func NewView added in v1.1.4

func NewView(instance *gin.Context) *View

func (*View) First added in v1.1.4

func (receive *View) First(views []string, data ...any) contractshttp.Response

func (*View) Make added in v1.1.4

func (receive *View) Make(view string, data ...any) contractshttp.Response

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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