be

package module
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: May 22, 2023 License: Apache-2.0 Imports: 50 Imported by: 4

README

Enjin Golang Package

This package is the core of the Go-Enjin project and is named be mainly for artistic purposes. It can be thought of as an acronym with the b meaning "back" or "built" or whatever you like and the e meaning Enjin.

What is Enjin?

Enjin (noun), meaning an engine for doing things.

In the context of the Go-Enjin project, this is an engine for making and managing HTTP servers and microservices.

Is it even a word?

No, the word enjin is not an actual word in any language, though it is an homage to Heroku which is a really cool word which has it's own backstory and is the hosting platform of choice for Go-Enjin projects at this time.

The word enjin is comprised of two main parts:

  • en, this was chosen for "English language", or "English speaking" (this must not to be confused with any countries, nationalities or personalities in any way)
  • jin, this was chosen for it's roots in Japanese such as:
    • gaijin (meaning "foreigner" - which this author is) or
    • henjin (meaning "strange person" - which this author also is)

Author

LICENSE

All Go-Enjin projects are provided under the APACHE 2.0 license, as follows:

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
 
    http: www.apache.org/licenses/LICENSE-2.0
 
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Documentation

Index

Constants

View Source
const (
	ServeStatusResponseKey beContext.RequestKey = "ServeStatusResponse"
)

Variables

This section is empty.

Functions

func GoEnjinPackageList

func GoEnjinPackageList() (list []string)

Types

type Enjin

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

func (*Enjin) CheckMatchQL added in v0.1.0

func (e *Enjin) CheckMatchQL(query string) (pages []*page.Page, err error)

func (*Enjin) CheckMatchStubsQL added in v0.1.0

func (e *Enjin) CheckMatchStubsQL(query string) (stubs []*fs.PageStub, err error)

func (*Enjin) CheckSelectQL added in v0.1.0

func (e *Enjin) CheckSelectQL(query string) (selected map[string]interface{}, err error)

func (*Enjin) Consoles

func (e *Enjin) Consoles() (consoles map[feature.Tag]feature.Console)

func (*Enjin) ContentSecurityPolicy

func (e *Enjin) ContentSecurityPolicy() (handler *csp.PolicyHandler)

func (*Enjin) Context

func (e *Enjin) Context() (ctx context.Context)

func (*Enjin) DB

func (e *Enjin) DB(tag string) (db interface{}, err error)

func (*Enjin) Domains

func (e *Enjin) Domains() (domains []string)

func (*Enjin) Features

func (e *Enjin) Features() (features feature.Features)

func (*Enjin) FindAllUserActions added in v0.2.0

func (e *Enjin) FindAllUserActions() (list userbase.Actions)

func (*Enjin) FindEmailAccount added in v0.1.0

func (e *Enjin) FindEmailAccount(account string) (emailSender feature.EmailSender)

func (*Enjin) FindFile added in v0.1.0

func (e *Enjin) FindFile(path string) (data []byte, mime string, err error)

func (*Enjin) FindPage

func (e *Enjin) FindPage(tag language.Tag, url string) (p *page.Page)

func (*Enjin) FindPages

func (e *Enjin) FindPages(prefix string) (pages []*page.Page)

func (*Enjin) FindRedirection

func (e *Enjin) FindRedirection(url string) (p *page.Page)

func (*Enjin) FindTranslations

func (e *Enjin) FindTranslations(url string) (pages []*page.Page)

func (*Enjin) GetFormat

func (e *Enjin) GetFormat(name string) (format types.Format)

func (*Enjin) GetPublicAccess added in v0.2.0

func (e *Enjin) GetPublicAccess() (actions userbase.Actions)

func (*Enjin) GetTheme

func (e *Enjin) GetTheme() (t *theme.Theme, err error)

func (*Enjin) Headers

func (e *Enjin) Headers() (headers []headers.ModifyHeadersFn)

func (*Enjin) ListFormats added in v0.1.0

func (e *Enjin) ListFormats() (names []string)

func (*Enjin) MatchFormat

func (e *Enjin) MatchFormat(filename string) (format types.Format, match string)

func (*Enjin) MatchQL

func (e *Enjin) MatchQL(query string) (pages []*page.Page)

func (*Enjin) MatchStubsQL

func (e *Enjin) MatchStubsQL(query string) (stubs []*fs.PageStub)

func (*Enjin) MustDB

func (e *Enjin) MustDB(tag string) (db interface{})

func (*Enjin) MustGetTheme added in v0.1.0

func (e *Enjin) MustGetTheme() (t *theme.Theme)

func (*Enjin) MustSpecificDB

func (e *Enjin) MustSpecificDB(fTag feature.Tag, tag string) (db interface{})

func (*Enjin) Notify

func (e *Enjin) Notify(tag string)

func (*Enjin) NotifyF

func (e *Enjin) NotifyF(tag, format string, argv ...interface{})

func (*Enjin) Pages

func (e *Enjin) Pages() (pages map[string]*page.Page)

func (*Enjin) PermissionsPolicy

func (e *Enjin) PermissionsPolicy() (handler *permissions.PolicyHandler)

func (*Enjin) Prefix

func (e *Enjin) Prefix() (prefix string)

func (*Enjin) Processors

func (e *Enjin) Processors() (processors map[string]feature.ReqProcessFn)

func (*Enjin) Router

func (e *Enjin) Router() (router *chi.Mux)

func (*Enjin) RoutingHTTP added in v0.1.0

func (e *Enjin) RoutingHTTP(w http.ResponseWriter, r *http.Request)

func (*Enjin) Run

func (e *Enjin) Run(argv []string) (err error)

func (*Enjin) SelectQL

func (e *Enjin) SelectQL(query string) (selected map[string]interface{})

func (*Enjin) Self

func (e *Enjin) Self() (self interface{})

func (*Enjin) SendEmail added in v0.1.0

func (e *Enjin) SendEmail(account string, message *gomail.Message) (err error)

func (*Enjin) Serve204

func (e *Enjin) Serve204(w http.ResponseWriter, r *http.Request)

func (*Enjin) Serve401

func (e *Enjin) Serve401(w http.ResponseWriter, r *http.Request)

func (*Enjin) Serve403

func (e *Enjin) Serve403(w http.ResponseWriter, r *http.Request)

func (*Enjin) Serve404

func (e *Enjin) Serve404(w http.ResponseWriter, r *http.Request)

func (*Enjin) Serve405

func (e *Enjin) Serve405(w http.ResponseWriter, r *http.Request)

func (*Enjin) Serve500

func (e *Enjin) Serve500(w http.ResponseWriter, r *http.Request)

func (*Enjin) ServeBasic401

func (e *Enjin) ServeBasic401(w http.ResponseWriter, r *http.Request)

func (*Enjin) ServeData

func (e *Enjin) ServeData(data []byte, mime string, w http.ResponseWriter, r *http.Request)

func (*Enjin) ServeInternalServerError

func (e *Enjin) ServeInternalServerError(w http.ResponseWriter, r *http.Request)

func (*Enjin) ServeJSON added in v0.2.0

func (e *Enjin) ServeJSON(v interface{}, w http.ResponseWriter, r *http.Request) (err error)

func (*Enjin) ServeNotFound

func (e *Enjin) ServeNotFound(w http.ResponseWriter, r *http.Request)

func (*Enjin) ServePage

func (e *Enjin) ServePage(p *page.Page, w http.ResponseWriter, r *http.Request) (err error)

func (*Enjin) ServePath

func (e *Enjin) ServePath(urlPath string, w http.ResponseWriter, r *http.Request) (err error)

func (*Enjin) ServeRedirect

func (e *Enjin) ServeRedirect(destination string, w http.ResponseWriter, r *http.Request)

func (*Enjin) ServeStatusPage

func (e *Enjin) ServeStatusPage(status int, w http.ResponseWriter, r *http.Request)

func (*Enjin) ServerName

func (e *Enjin) ServerName() (name string)

func (*Enjin) ServiceInfo

func (e *Enjin) ServiceInfo() (listen string, port int)

func (*Enjin) SetupRootEnjin

func (e *Enjin) SetupRootEnjin(ctx *cli.Context) (err error)

func (*Enjin) Shutdown

func (e *Enjin) Shutdown()

func (*Enjin) SiteDefaultLanguage

func (e *Enjin) SiteDefaultLanguage() (tag language.Tag)

func (*Enjin) SiteLangCatalog

func (e *Enjin) SiteLangCatalog() (c *pkgLangCatalog.Catalog)

func (*Enjin) SiteLanguageCatalog

func (e *Enjin) SiteLanguageCatalog() (c catalog.Catalog)

func (*Enjin) SiteLanguageDisplayName

func (e *Enjin) SiteLanguageDisplayName(tag language.Tag) (name string, ok bool)

func (*Enjin) SiteLanguageMode

func (e *Enjin) SiteLanguageMode() (mode lang.Mode)

func (*Enjin) SiteLocales

func (e *Enjin) SiteLocales() (locales []language.Tag)

func (*Enjin) SiteName

func (e *Enjin) SiteName() (name string)

func (*Enjin) SiteSupportsLanguage

func (e *Enjin) SiteSupportsLanguage(tag language.Tag) (supported bool)

func (*Enjin) SiteTag

func (e *Enjin) SiteTag() (tag string)

func (*Enjin) SiteTagLine

func (e *Enjin) SiteTagLine() (tagLine string)

func (*Enjin) Slugsums

func (e *Enjin) Slugsums() (enabled bool)

func (*Enjin) SpecificDB

func (e *Enjin) SpecificDB(fTag feature.Tag, tag string) (db interface{}, err error)

func (*Enjin) StartupString

func (e *Enjin) StartupString() string

func (*Enjin) String

func (e *Enjin) String() string

func (*Enjin) Theme

func (e *Enjin) Theme() (theme string)

func (*Enjin) ThemeNames

func (e *Enjin) ThemeNames() (names []string)

func (*Enjin) Theming

func (e *Enjin) Theming() (theming map[string]*theme.Theme)

func (*Enjin) Transformers

func (e *Enjin) Transformers() (transformers map[string]feature.TransformOutputFn)

func (*Enjin) Translators

func (e *Enjin) Translators() (translators map[string]feature.TranslateOutputFn)

type EnjinBuilder

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

func New

func New() (be *EnjinBuilder)

func (*EnjinBuilder) AddCommands

func (eb *EnjinBuilder) AddCommands(commands ...*cli.Command) feature.Builder

func (*EnjinBuilder) AddConsole

func (eb *EnjinBuilder) AddConsole(c feature.Console) feature.Builder

func (*EnjinBuilder) AddDomains

func (eb *EnjinBuilder) AddDomains(domains ...string) feature.Builder

func (*EnjinBuilder) AddFeature

func (eb *EnjinBuilder) AddFeature(f feature.Feature) feature.Builder

func (*EnjinBuilder) AddFeatureNotes added in v0.1.0

func (eb *EnjinBuilder) AddFeatureNotes(tag feature.Tag, notes ...string) feature.Builder

func (*EnjinBuilder) AddFlags

func (eb *EnjinBuilder) AddFlags(flags ...cli.Flag) feature.Builder

func (*EnjinBuilder) AddHtmlHeadTag

func (eb *EnjinBuilder) AddHtmlHeadTag(name string, attr map[string]string) feature.Builder

func (*EnjinBuilder) AddModifyHeadersFn

func (eb *EnjinBuilder) AddModifyHeadersFn(fn headers.ModifyHeadersFn) feature.Builder

func (*EnjinBuilder) AddNotifyHook

func (eb *EnjinBuilder) AddNotifyHook(name string, hook feature.NotifyHook) feature.Builder

func (*EnjinBuilder) AddOutputTransformer

func (eb *EnjinBuilder) AddOutputTransformer(mime string, filter feature.TransformOutputFn) feature.Builder

func (*EnjinBuilder) AddOutputTranslator

func (eb *EnjinBuilder) AddOutputTranslator(mime string, filter feature.TranslateOutputFn) feature.Builder

func (*EnjinBuilder) AddPageFromString

func (eb *EnjinBuilder) AddPageFromString(path, raw string) feature.Builder

func (*EnjinBuilder) AddRouteProcessor

func (eb *EnjinBuilder) AddRouteProcessor(route string, processor feature.ReqProcessFn) feature.Builder

func (*EnjinBuilder) AddTheme

func (eb *EnjinBuilder) AddTheme(t *theme.Theme) feature.Builder

func (*EnjinBuilder) AddUserAction added in v0.2.1

func (eb *EnjinBuilder) AddUserAction(actions ...userbase.Action) feature.Builder

func (*EnjinBuilder) Build

func (eb *EnjinBuilder) Build() feature.Runner

func (*EnjinBuilder) HotReload

func (eb *EnjinBuilder) HotReload(enabled bool) feature.Builder

func (*EnjinBuilder) IgnoreSlugsums

func (eb *EnjinBuilder) IgnoreSlugsums() *EnjinBuilder

func (*EnjinBuilder) IncludeEnjin

func (eb *EnjinBuilder) IncludeEnjin(enjins ...*EnjinBuilder) feature.Builder

func (*EnjinBuilder) MakeEnvKey

func (eb *EnjinBuilder) MakeEnvKey(name string) (key string)

func (*EnjinBuilder) MakeEnvKeys

func (eb *EnjinBuilder) MakeEnvKeys(names ...string) (keys []string)

func (*EnjinBuilder) Set

func (eb *EnjinBuilder) Set(key string, value interface{}) feature.Builder

func (*EnjinBuilder) SetPublicAccess added in v0.2.0

func (eb *EnjinBuilder) SetPublicAccess(actions ...userbase.Action) feature.Builder

func (*EnjinBuilder) SetStatusPage

func (eb *EnjinBuilder) SetStatusPage(status int, path string) feature.Builder

func (*EnjinBuilder) SetTheme

func (eb *EnjinBuilder) SetTheme(name string) feature.Builder

func (*EnjinBuilder) SiteCopyrightName

func (eb *EnjinBuilder) SiteCopyrightName(name string) feature.Builder

func (*EnjinBuilder) SiteCopyrightNotice

func (eb *EnjinBuilder) SiteCopyrightNotice(notice string) feature.Builder

func (*EnjinBuilder) SiteDefaultLanguage

func (eb *EnjinBuilder) SiteDefaultLanguage(tag language.Tag) feature.Builder

func (*EnjinBuilder) SiteLanguageDisplayNames

func (eb *EnjinBuilder) SiteLanguageDisplayNames(names map[language.Tag]string) feature.Builder

func (*EnjinBuilder) SiteLanguageMode

func (eb *EnjinBuilder) SiteLanguageMode(mode lang.Mode) feature.Builder

func (*EnjinBuilder) SiteName

func (eb *EnjinBuilder) SiteName(name string) feature.Builder

func (*EnjinBuilder) SiteSupportedLanguages

func (eb *EnjinBuilder) SiteSupportedLanguages(tags ...language.Tag) feature.Builder

func (*EnjinBuilder) SiteTag

func (eb *EnjinBuilder) SiteTag(tag string) feature.Builder

func (*EnjinBuilder) SiteTagLine

func (eb *EnjinBuilder) SiteTagLine(tagLine string) feature.Builder

Directories

Path Synopsis
features
pkg
cli
cmp
fs
gob
kvs
log
net
net/gorilla-handlers
Package handlers is a collection of handlers (aka "HTTP middleware") for use with Go's net/http package (or any framework supporting http.Handler).
Package handlers is a collection of handlers (aka "HTTP middleware") for use with Go's net/http package (or any framework supporting http.Handler).

Jump to

Keyboard shortcuts

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