Documentation
¶
Overview ¶
This package will be shared between Revel and Revel CLI eventually
Index ¶
- Variables
- func AddInitEventHandler(handler EventHandler)
- func FirstNonEmpty(strs ...string) string
- func IsBuiltinType(name string) bool
- type COMMAND
- type CommandConfig
- type EmbeddedTypeName
- type Error
- type Event
- type EventHandler
- type EventResponse
- type MethodArg
- type MethodCall
- type MethodSpec
- type ModuleInfo
- type RevelCallback
- type RevelContainer
- type SourceInfo
- type TypeExpr
- type TypeInfo
- type Version
- func (v *Version) CompatibleFramework(c *CommandConfig) error
- func (v *Version) MajorNewer(o *Version) bool
- func (v *Version) MinorNewer(o *Version) bool
- func (v *Version) Newer(o *Version) bool
- func (v *Version) ParseVersion(version string) (err error)
- func (v *Version) String() string
- func (v *Version) VersionString() string
- type WrappedRevelCallback
Constants ¶
This section is empty.
Variables ¶
var ( RevelImportPath = "github.com/revel/revel" RevelModulesImportPath = "github.com/revel/modules" )
RevelImportPath Revel framework import path.
Functions ¶
func AddInitEventHandler ¶
func AddInitEventHandler(handler EventHandler)
Add event handler to listen for all system events.
func FirstNonEmpty ¶
Returns the first non empty string from a list of arguments.
func IsBuiltinType ¶
IsBuiltinType checks the given type is built-in types of Go.
Types ¶
type CommandConfig ¶
type CommandConfig struct {
Index COMMAND // The index
Verbose []bool `short:"v" long:"debug" description:"If set the logger is set to verbose"` // True if debug is active
FrameworkVersion *Version // The framework version
CommandVersion *Version // The command version
HistoricMode bool `long:"historic-run-mode" description:"If set the runmode is passed a string not json"` // True if debug is active
ImportPath string // The import path (relative to a GOPATH)
GoPath string // The GoPath
GoCmd string // The full path to the go executable
// SrcRoot string // The source root
AppPath string // The application path (absolute)
AppName string // The application name
HistoricBuildMode bool `long:"historic-build-mode" description:"If set the code is scanned using the original parsers, not the go.1.11+"` // True if debug is active
Vendored bool // True if the application is vendored
PackageResolver func(pkgName string) error // a package resolver for the config
BuildFlags []string `` /* 186-byte string literal not displayed */
GoModFlags []string `` /* 126-byte string literal not displayed */
New command.New `command:"new"`
Build command.Build `command:"build"`
Run command.Run `command:"run"`
Package command.Package `command:"package"`
Clean command.Clean `command:"clean"`
Test command.Test `command:"test"`
Version command.Version `command:"version"`
}
The Command config for the line input.
func (*CommandConfig) GetVerbose ¶
func (c *CommandConfig) GetVerbose() (verbose bool)
Sets the versions on the command config.
func (*CommandConfig) InitPackageResolver ¶
func (c *CommandConfig) InitPackageResolver()
Used to initialize the package resolver.
func (*CommandConfig) SetVersions ¶
func (c *CommandConfig) SetVersions() (err error)
Sets the versions on the command config.
func (*CommandConfig) UpdateImportPath ¶
func (c *CommandConfig) UpdateImportPath() error
Updates the import path depending on the command.
type EmbeddedTypeName ¶
type EmbeddedTypeName struct {
ImportPath, StructName string
}
The embedded type name takes the import path and structure name.
func (*EmbeddedTypeName) String ¶
func (s *EmbeddedTypeName) String() string
Convert the type to a properly formatted import line.
type Error ¶
type Error string
Error is used for constant errors.
const ( ErrNoApp Error = "no app found at path" ErrNoConfig Error = "no config found at path" ErrNotFound Error = "not found" ErrMissingCert Error = "no http.sslcert provided" ErrMissingKey Error = "no http.sslkey provided" ErrNoFiles Error = "no files found in import path" ErrNoPackages Error = "no packages found for import" )
type Event ¶
type Event int
The event type.
const ( // Event type when templates are going to be refreshed (receivers are registered template engines added to the template.engine conf option). TEMPLATE_REFRESH_REQUESTED Event = iota // Event type when templates are refreshed (receivers are registered template engines added to the template.engine conf option). TEMPLATE_REFRESH_COMPLETED // Event type before all module loads, events thrown to handlers added to AddInitEventHandler. REVEL_BEFORE_MODULES_LOADED // Event type before module loads, events thrown to handlers added to AddInitEventHandler. REVEL_BEFORE_MODULE_LOADED // Event type after module loads, events thrown to handlers added to AddInitEventHandler. REVEL_AFTER_MODULE_LOADED // Event type after all module loads, events thrown to handlers added to AddInitEventHandler. REVEL_AFTER_MODULES_LOADED // Event type before server engine is initialized, receivers are active server engine and handlers added to AddInitEventHandler. ENGINE_BEFORE_INITIALIZED // Event type before server engine is started, receivers are active server engine and handlers added to AddInitEventHandler. ENGINE_STARTED // Event type after server engine is stopped, receivers are active server engine and handlers added to AddInitEventHandler. ENGINE_SHUTDOWN // Called before routes are refreshed. ROUTE_REFRESH_REQUESTED // Called after routes have been refreshed. ROUTE_REFRESH_COMPLETED // Fired when a panic is caught during the startup process. REVEL_FAILURE )
type EventHandler ¶
type EventHandler func(typeOf Event, value interface{}) (responseOf EventResponse)
The handler signature.
type EventResponse ¶
type EventResponse int
The event response.
func RaiseEvent ¶
func RaiseEvent(key Event, value interface{}) (response EventResponse)
Fires system events from revel.
type MethodArg ¶
type MethodArg struct {
Name string // Name of the argument.
TypeExpr TypeExpr // The name of the type, e.g. "int", "*pkg.UserType"
ImportPath string // If the arg is of an imported type, this is the import path.
}
MethodArg holds the information of one argument.
type MethodCall ¶
type MethodCall struct {
Path string // e.g. "myapp/app/controllers.(*Application).Action"
Line int
Names []string
}
methodCall describes a call to c.Render(..) It documents the argument names used, in order to propagate them to RenderArgs.
type MethodSpec ¶
type MethodSpec struct {
Name string // Name of the method, e.g. "Index"
Args []*MethodArg // Argument descriptors
RenderCalls []*MethodCall // Descriptions of Render() invocations from this Method.
}
MethodSpec holds the information of one Method.
type ModuleInfo ¶
type RevelCallback ¶
type RevelCallback interface {
FireEvent(key Event, value interface{}) (response EventResponse)
PackageResolver(pkgName string) error
}
func NewWrappedRevelCallback ¶
func NewWrappedRevelCallback(fe func(key Event, value interface{}) (response EventResponse), ie func(pkgName string) error) RevelCallback
Simple Wrapped RevelCallback.
type RevelContainer ¶
type RevelContainer struct {
BuildPaths struct {
Revel string
}
Paths struct {
Import string
Source string
Base string
App string
Views string
Code []string
Template []string
Config []string
}
PackageInfo struct {
Config config.Context
Packaged bool
DevMode bool
Vendor bool
}
Application struct {
Name string
Root string
}
ImportPath string // The import path
SourcePath string // The full source path
RunMode string // The current run mode
RevelPath string // The path to the Revel source code
BasePath string // The base path to the application
AppPath string // The application path (BasePath + "/app")
ViewsPath string // The application views path
CodePaths []string // All the code paths
TemplatePaths []string // All the template paths
ConfPaths []string // All the configuration paths
Config *config.Context // The global config object
Packaged bool // True if packaged
DevMode bool // True if running in dev mode
HTTPPort int // The http port
HTTPAddr string // The http address
HTTPSsl bool // True if running https
HTTPSslCert string // The SSL certificate
HTTPSslKey string // The SSL key
AppName string // The application name
AppRoot string // The application root from the config `app.root`
CookiePrefix string // The cookie prefix
CookieDomain string // The cookie domain
CookieSecure bool // True if cookie is secure
SecretStr string // The secret string
MimeConfig *config.Context // The mime configuration
ModulePathMap map[string]*ModuleInfo // The module path map
}
The container object for describing all Revels variables.
func NewRevelPaths ¶
func NewRevelPaths(mode, importPath, appSrcPath string, callback RevelCallback) (rp *RevelContainer, err error)
This function returns a container object describing the revel application eventually this type of function will replace the global variables.
func (*RevelContainer) LoadMimeConfig ¶
func (rp *RevelContainer) LoadMimeConfig() (err error)
LoadMimeConfig load mime-types.conf on init.
func (*RevelContainer) ResolveImportPath ¶
func (rp *RevelContainer) ResolveImportPath(importPath string) (string, error)
ResolveImportPath returns the filesystem path for the given import path. Returns an error if the import path could not be found.
type SourceInfo ¶
type SourceInfo struct {
// StructSpecs lists type info for all structs found under the code paths.
// They may be queried to determine which ones (transitively) embed certain types.
StructSpecs []*TypeInfo
// ValidationKeys provides a two-level lookup. The keys are:
// 1. The fully-qualified function name,
// e.g. "github.com/revel/examples/chat/app/controllers.(*Application).Action"
// 2. Within that func's file, the line number of the (overall) expression statement.
// e.g. the line returned from runtime.Caller()
// The result of the lookup the name of variable being validated.
ValidationKeys map[string]map[int]string
// A list of import paths.
// Revel notices files with an init() function and imports that package.
InitImportPaths []string
// packageMap a map of import to system directory (if available)
PackageMap map[string]string
// contains filtered or unexported fields
}
func (*SourceInfo) ControllerSpecs ¶
func (s *SourceInfo) ControllerSpecs() []*TypeInfo
ControllerSpecs returns the all the controllers that embeds `revel.Controller`.
func (*SourceInfo) Merge ¶
func (s *SourceInfo) Merge(srcInfo2 *SourceInfo)
func (*SourceInfo) TestSuites ¶
func (s *SourceInfo) TestSuites() []*TypeInfo
TestSuites returns the all the Application tests that embeds `testing.TestSuite`.
func (*SourceInfo) TypesThatEmbed ¶
func (s *SourceInfo) TypesThatEmbed(targetType, packageFilter string) (filtered []*TypeInfo)
TypesThatEmbed returns all types that (directly or indirectly) embed the target type, which must be a fully qualified type name, e.g. "github.com/revel/revel.Controller".
type TypeExpr ¶
type TypeExpr struct {
Expr string // The unqualified type expression, e.g. "[]*MyType"
PkgName string // The default package idenifier
Valid bool
// contains filtered or unexported fields
}
func NewTypeExprFromAst ¶
NewTypeExpr returns the syntactic expression for referencing this type in Go.
func NewTypeExprFromData ¶
Returns a new type from the data.
type TypeInfo ¶
type TypeInfo struct {
StructName string // e.g. "Application"
ImportPath string // e.g. "github.com/revel/examples/chat/app/controllers"
PackageName string // e.g. "controllers"
MethodSpecs []*MethodSpec // Method specifications, the action functions
EmbeddedTypes []*EmbeddedTypeName // Used internally to identify controllers that indirectly embed *revel.Controller.
}
TypeInfo summarizes information about a struct type in the app source code.
type Version ¶
type Version struct {
Prefix string
Major int
Minor int
Maintenance int
Suffix string
BuildDate string
MinGoVersion string
}
func ParseVersion ¶
Parse the version and return it as a Version object.
func (*Version) CompatibleFramework ¶
func (v *Version) CompatibleFramework(c *CommandConfig) error
Returns true if this major revision is compatible.
func (*Version) MajorNewer ¶
Returns true if this major revision is newer then the passed in.
func (*Version) MinorNewer ¶
Returns true if this major or major and minor revision is newer then the value passed in.
func (*Version) ParseVersion ¶
Parse the version and return it as a Version object.
func (*Version) VersionString ¶
Convert the version to a string.
type WrappedRevelCallback ¶
type WrappedRevelCallback struct {
FireEventFunction func(key Event, value interface{}) (response EventResponse)
ImportFunction func(pkgName string) error
}
func (*WrappedRevelCallback) FireEvent ¶
func (w *WrappedRevelCallback) FireEvent(key Event, value interface{}) (response EventResponse)
Function to implement the FireEvent.
func (*WrappedRevelCallback) PackageResolver ¶
func (w *WrappedRevelCallback) PackageResolver(pkgName string) error