Documentation ¶
Index ¶
- Constants
- Variables
- func CSRF() echo.MiddlewareFunc
- func CSRFWithConfig(config CSRFConfig) echo.MiddlewareFunc
- func FlushShared(c echo.Context)
- func Handler(component string, props ...map[string]interface{}) echo.HandlerFunc
- func Has(c echo.Context) bool
- func Location(c echo.Context, url string) error
- func Middleware(r Renderer) echo.MiddlewareFunc
- func MiddlewareWithConfig(config MiddlewareConfig) echo.MiddlewareFunc
- func Render(c echo.Context, code int, component string, props map[string]interface{}) error
- func RenderWithViewData(c echo.Context, code int, component string, ...) error
- func RootView(c echo.Context) string
- func SetRootView(c echo.Context, name string)
- func SetVersion(c echo.Context, version VersionFunc)
- func Share(c echo.Context, props map[string]interface{})
- func Shared(c echo.Context) map[string]interface{}
- func Version(c echo.Context) string
- type CSRFConfig
- type HTMLRenderer
- func (r *HTMLRenderer) AddViteEntryPoint(entryPoint ...string)
- func (r *HTMLRenderer) Funcs(funcMap template.FuncMap) *HTMLRenderer
- func (r *HTMLRenderer) MustParse(text string) *HTMLRenderer
- func (r *HTMLRenderer) MustParseFS(f fs.FS, pattern string) *HTMLRenderer
- func (r *HTMLRenderer) MustParseGlob(pattern string) *HTMLRenderer
- func (r *HTMLRenderer) MustParseViteManifest(data []byte)
- func (r *HTMLRenderer) MustParseViteManifestFS(f fs.FS, name string)
- func (r *HTMLRenderer) MustParseViteManifestFile(name string)
- func (r *HTMLRenderer) Parse(text string) (*HTMLRenderer, error)
- func (r *HTMLRenderer) ParseFS(f fs.FS, pattern string) (*HTMLRenderer, error)
- func (r *HTMLRenderer) ParseGlob(pattern string) (*HTMLRenderer, error)
- func (r *HTMLRenderer) ParseViteManifest(data []byte) error
- func (r *HTMLRenderer) ParseViteManifestFS(f fs.FS, name string) error
- func (r *HTMLRenderer) ParseViteManifestFile(name string) error
- func (r *HTMLRenderer) Render(w io.Writer, name string, data map[string]interface{}, in *Inertia) error
- type Inertia
- func (i *Inertia) DisableSsr()
- func (i *Inertia) EnableSsr()
- func (i *Inertia) FlushShared()
- func (i *Inertia) IsSsrDisabled() bool
- func (i *Inertia) IsSsrEnabled() bool
- func (i *Inertia) Location(url string) error
- func (i *Inertia) Render(code int, component string, props map[string]interface{}) error
- func (i *Inertia) RenderWithViewData(code int, component string, props, viewData map[string]interface{}) error
- func (i *Inertia) Renderer() Renderer
- func (i *Inertia) RootView() string
- func (i *Inertia) SetRenderer(r Renderer)
- func (i *Inertia) SetRootView(name string)
- func (i *Inertia) SetVersion(version VersionFunc)
- func (i *Inertia) Share(props map[string]interface{})
- func (i *Inertia) Shared() map[string]interface{}
- func (i *Inertia) Version() string
- type LazyProp
- type LazyPropFunc
- type MiddlewareConfig
- type Page
- type Renderer
- type ResponseWriterWrapper
- type SharedDataFunc
- type SsrEngine
- type SsrResponse
- type VersionFunc
- type ViteManifest
Constants ¶
const ( HeaderXInertia = "X-Inertia" HeaderXInertiaVersion = "X-Inertia-Version" HeaderXInertiaLocation = "X-Inertia-Location" HeaderXInertiaPartialData = "X-Inertia-Partial-Data" HeaderXInertiaPartialComponent = "X-Inertia-Partial-Component" )
Variables ¶
var ( ErrNotFound = errors.New("inertia-echo: context does not have 'Inertia'") ErrRendererNotRegistered = errors.New("inertia-echo: renderer not registered") )
var DefaultCSRFConfig = CSRFConfig{ Skipper: middleware.DefaultSkipper, TokenLength: 32, TokenLookup: "header:X-XSRF-TOKEN", ContextKey: "csrf", CookieName: "XSRF-TOKEN", CookieMaxAge: 86400, CookieSameSite: http.SameSiteDefaultMode, CookiePath: "/", }
var DefaultMiddlewareConfig = MiddlewareConfig{ Skipper: middleware.DefaultSkipper, RootView: "app.html", VersionFunc: defaultVersionFunc(), Share: nil, Renderer: nil, IsSsrDisabled: false, }
Functions ¶
func CSRFWithConfig ¶ added in v0.2.0
func CSRFWithConfig(config CSRFConfig) echo.MiddlewareFunc
func FlushShared ¶ added in v0.5.0
func FlushShared(c echo.Context)
func Handler ¶
Handler is a helper function that makes an inertia route without implementing handler function.
func Middleware ¶
func Middleware(r Renderer) echo.MiddlewareFunc
func MiddlewareWithConfig ¶
func MiddlewareWithConfig(config MiddlewareConfig) echo.MiddlewareFunc
MiddlewareWithConfig returns an echo middleware that adds the Inertia instance to the context.
func RenderWithViewData ¶ added in v0.5.0
func SetRootView ¶ added in v0.5.0
func SetRootView(c echo.Context, name string)
func SetVersion ¶ added in v0.5.0
func SetVersion(c echo.Context, version VersionFunc)
Types ¶
type CSRFConfig ¶ added in v0.2.0
type CSRFConfig middleware.CSRFConfig
type HTMLRenderer ¶ added in v0.7.0
type HTMLRenderer struct { Debug bool ContainerId string Vite bool ViteDevServerURL string ViteBasePath string ViteDisableReact bool ViteEntryPoints []string SsrEngine SsrEngine // contains filtered or unexported fields }
HTMLRenderer is a html/template renderer for Echo framework with inertia.js.
func NewRenderer ¶
func NewRenderer() *HTMLRenderer
func (*HTMLRenderer) AddViteEntryPoint ¶ added in v0.7.0
func (r *HTMLRenderer) AddViteEntryPoint(entryPoint ...string)
func (*HTMLRenderer) Funcs ¶ added in v0.7.0
func (r *HTMLRenderer) Funcs(funcMap template.FuncMap) *HTMLRenderer
func (*HTMLRenderer) MustParse ¶ added in v0.7.0
func (r *HTMLRenderer) MustParse(text string) *HTMLRenderer
func (*HTMLRenderer) MustParseFS ¶ added in v0.7.0
func (r *HTMLRenderer) MustParseFS(f fs.FS, pattern string) *HTMLRenderer
func (*HTMLRenderer) MustParseGlob ¶ added in v0.7.0
func (r *HTMLRenderer) MustParseGlob(pattern string) *HTMLRenderer
func (*HTMLRenderer) MustParseViteManifest ¶ added in v0.7.0
func (r *HTMLRenderer) MustParseViteManifest(data []byte)
func (*HTMLRenderer) MustParseViteManifestFS ¶ added in v0.7.0
func (r *HTMLRenderer) MustParseViteManifestFS(f fs.FS, name string)
func (*HTMLRenderer) MustParseViteManifestFile ¶ added in v0.7.0
func (r *HTMLRenderer) MustParseViteManifestFile(name string)
func (*HTMLRenderer) Parse ¶ added in v0.7.0
func (r *HTMLRenderer) Parse(text string) (*HTMLRenderer, error)
func (*HTMLRenderer) ParseFS ¶ added in v0.7.0
func (r *HTMLRenderer) ParseFS(f fs.FS, pattern string) (*HTMLRenderer, error)
func (*HTMLRenderer) ParseGlob ¶ added in v0.7.0
func (r *HTMLRenderer) ParseGlob(pattern string) (*HTMLRenderer, error)
func (*HTMLRenderer) ParseViteManifest ¶ added in v0.7.0
func (r *HTMLRenderer) ParseViteManifest(data []byte) error
func (*HTMLRenderer) ParseViteManifestFS ¶ added in v0.7.0
func (r *HTMLRenderer) ParseViteManifestFS(f fs.FS, name string) error
func (*HTMLRenderer) ParseViteManifestFile ¶ added in v0.7.0
func (r *HTMLRenderer) ParseViteManifestFile(name string) error
type Inertia ¶
type Inertia struct {
// contains filtered or unexported fields
}
func (*Inertia) DisableSsr ¶ added in v0.7.0
func (i *Inertia) DisableSsr()
func (*Inertia) FlushShared ¶
func (i *Inertia) FlushShared()
func (*Inertia) IsSsrDisabled ¶ added in v0.7.0
func (*Inertia) IsSsrEnabled ¶ added in v0.7.0
func (*Inertia) Location ¶
Location generates 409 response for external redirects see https://inertiajs.com/redirects#external-redirects
func (*Inertia) RenderWithViewData ¶
func (*Inertia) SetRenderer ¶ added in v0.6.0
func (*Inertia) SetRootView ¶
func (*Inertia) SetVersion ¶
func (i *Inertia) SetVersion(version VersionFunc)
type LazyProp ¶
type LazyProp struct {
// contains filtered or unexported fields
}
func Lazy ¶
func Lazy(callback LazyPropFunc) *LazyProp
Lazy defines a lazy evaluated data. see https://inertiajs.com/partial-reloads#lazy-data-evaluation
type LazyPropFunc ¶ added in v0.12.0
type LazyPropFunc func() (interface{}, error)
type MiddlewareConfig ¶
type MiddlewareConfig struct { Skipper middleware.Skipper // The root template that's loaded on the first page visit. // see https://inertiajs.com/server-side-setup#root-template RootView string // Determines the current asset version. // see https://inertiajs.com/asset-versioning VersionFunc func() string // see https://inertiajs.com/shared-data Share SharedDataFunc // Renderer is a renderer that is used for rendering the root view. Renderer Renderer // IsSsrDisabled is a flag that determines whether server-side rendering is disabled. IsSsrDisabled bool }
type ResponseWriterWrapper ¶
type ResponseWriterWrapper struct { http.ResponseWriter // contains filtered or unexported fields }
ResponseWriterWrapper is a wrapper of http.ResponseWriter for buffering a response status code. Inertia.js adapter needs to change the response status code in a middleware. For example, if a request has X-Inertia, the adapter change the response code to 303 from 302. see https://inertiajs.com/redirects
func NewResponseWriterWrapper ¶
func NewResponseWriterWrapper(w http.ResponseWriter) *ResponseWriterWrapper
func (*ResponseWriterWrapper) FlushHeader ¶
func (w *ResponseWriterWrapper) FlushHeader()
func (*ResponseWriterWrapper) WriteHeader ¶
func (w *ResponseWriterWrapper) WriteHeader(statusCode int)
WriteHeader stores header instead of sending it, if it is not 200
type SharedDataFunc ¶
type SsrEngine ¶ added in v0.7.0
type SsrEngine interface {
Render(*Page) (*SsrResponse, error)
}
type SsrResponse ¶ added in v0.7.0
func (*SsrResponse) BodyHTML ¶ added in v0.7.0
func (r *SsrResponse) BodyHTML() template.HTML
func (*SsrResponse) HeadHTML ¶ added in v0.7.0
func (r *SsrResponse) HeadHTML() template.HTML
type VersionFunc ¶
type VersionFunc func() string
type ViteManifest ¶
type ViteManifest map[string]interface{}