Nothing special: Linting

This commit is contained in:
Makis Maropoulos 2016-06-03 05:11:50 +03:00
parent 679b707751
commit a337b4768d
20 changed files with 73 additions and 26 deletions

View File

@ -7,7 +7,7 @@ import (
)
const (
// DefaultBasicAuth is "Authorization Required"
// DefaultBasicAuthRealm is "Authorization Required"
DefaultBasicAuthRealm = "Authorization Required"
// DefaultBasicAuthContextKey is the "auth"
// this key is used to do context.Set("auth", theUsernameFromBasicAuth)

View File

@ -2,6 +2,7 @@ package config
import "github.com/imdario/mergo"
// Editor the configs for the Editor plugin
type Editor struct {
// Host if empty used the iris server's host
Host string
@ -34,7 +35,7 @@ func (c Editor) Merge(cfg []Editor) (config Editor) {
return
}
// Merge MergeSingle the default with the given config and returns the result
// MergeSingle merges the default with the given config and returns the result
func (c Editor) MergeSingle(cfg Editor) (config Editor) {
config = cfg

View File

@ -4,6 +4,7 @@ import (
"github.com/imdario/mergo"
)
// DefaultProfilePath is the default profile(http debug) path which is /debug/pprof
const DefaultProfilePath = "/debug/pprof"
type (
@ -145,7 +146,7 @@ func (c Iris) Merge(cfg []Iris) (config Iris) {
return
}
// Merge MergeSingle the default with the given config and returns the result
// MergeSingle merges the default with the given config and returns the result
func (c Iris) MergeSingle(cfg Iris) (config Iris) {
config = cfg

View File

@ -13,6 +13,7 @@ var (
)
type (
// Logger contains the configs for the Logger
Logger struct {
Out io.Writer
Prefix string
@ -20,6 +21,7 @@ type (
}
)
// DefaultLogger returns the default configs for the Logger
func DefaultLogger() Logger {
return Logger{Out: os.Stdout, Prefix: "", Flag: 0}
}

View File

@ -15,6 +15,7 @@ var (
const (
// DefaultCookieName the secret cookie's name for sessions
DefaultCookieName = "irissessionid"
// DefaultSessionGcDuration is the default Session Manager's GCDuration , which is 2 hours
DefaultSessionGcDuration = time.Duration(2) * time.Hour
// DefaultRedisNetwork the redis network option, "tcp"
DefaultRedisNetwork = "tcp"
@ -97,7 +98,7 @@ func (c Sessions) Merge(cfg []Sessions) (config Sessions) {
return
}
// Merge MergeSingle the default with the given config and returns the result
// MergeSingle merges the default with the given config and returns the result
func (c Sessions) MergeSingle(cfg Sessions) (config Sessions) {
config = cfg
@ -135,7 +136,7 @@ func (c Redis) Merge(cfg []Redis) (config Redis) {
return
}
// Merge MergeSingle the default with the given config and returns the result
// MergeSingle merges the default with the given config and returns the result
func (c Redis) MergeSingle(cfg Redis) (config Redis) {
config = cfg

View File

@ -43,7 +43,7 @@ func (ctx *Context) Render(name string, binding interface{}, layout ...string) e
return ctx.HTML(StatusOK, name, binding, layout...)
}
// RenderStrings accepts a template filename, its context data and returns the result of the parsed template (string)
// RenderString accepts a template filename, its context data and returns the result of the parsed template (string)
func (ctx *Context) RenderString(name string, binding interface{}, layout ...string) (result string, err error) {
return ctx.station.templates.RenderString(name, binding, layout...)
}
@ -96,7 +96,7 @@ func (ctx *Context) ExecuteTemplate(tmpl *template.Template, pageContext interfa
// receives three parameters, it's low-level function, instead you can use .ServeFile(string)
//
// You can define your own "Content-Type" header also, after this function call
func (ctx *Context) ServeContent(content io.ReadSeeker, filename string, modtime time.Time, gzipCompression bool) (err error) {
func (ctx *Context) ServeContent(content io.ReadSeeker, filename string, modtime time.Time, gzipCompression bool) error {
if t, err := time.Parse(TimeFormat, ctx.RequestHeader(IfModifiedSince)); err == nil && modtime.Before(t.Add(1*time.Second)) {
ctx.RequestCtx.Response.Header.Del(ContentType)
ctx.RequestCtx.Response.Header.Del(ContentLength)
@ -119,7 +119,7 @@ func (ctx *Context) ServeContent(content io.ReadSeeker, filename string, modtime
out = ctx.RequestCtx.Response.BodyWriter()
}
_, err = io.Copy(out, content)
_, err := io.Copy(out, content)
return ErrServeContent.With(err)
}

View File

@ -59,8 +59,8 @@ var (
DefaultEngine = config.DefaultEngine
// NoEngine conversion for config.NoEngine
NoEngine = config.NoEngine
//
// NoLayout to disable layout for a particular template file
// conversion for config.NoLayout
NoLayout = config.NoLayout
)
@ -192,7 +192,7 @@ func (s *Iris) printBanner() {
}
}()
var i uint64 = 0
var i uint64
printTicker.OnTick(func() {
if len(banner) <= int(atomic.LoadUint64(&i)) {

View File

@ -11,7 +11,7 @@ import (
)
// DefaultIris in order to use iris.Get(...,...) we need a default Iris on the package level
var DefaultIris *Iris = New()
var DefaultIris = New()
// Listen starts the standalone http server
// which listens to the addr parameter which as the form of

View File

@ -179,7 +179,8 @@ func (p *GardenParty) API(path string, controller HandlerAPI, middlewares ...Han
}
func(path string, typ reflect.Type, contextField reflect.StructField, methodFunc reflect.Value, method string) {
handlersFn := make([]HandlerFunc, 0)
var handlersFn []HandlerFunc
handlersFn = append(handlersFn, middlewares...)
handlersFn = append(handlersFn, func(ctx *Context) {
newController := reflect.New(typ).Elem()
@ -223,7 +224,8 @@ func (p *GardenParty) API(path string, controller HandlerAPI, middlewares ...Han
}
func(registedPath string, typ reflect.Type, contextField reflect.StructField, methodFunc reflect.Value, paramsLen int, method string) {
handlersFn := make([]HandlerFunc, 0)
var handlersFn []HandlerFunc
handlersFn = append(handlersFn, middlewares...)
handlersFn = append(handlersFn, func(ctx *Context) {
newController := reflect.New(typ).Elem()
@ -407,7 +409,7 @@ func (p *GardenParty) StaticHandlerFunc(systemPath string, stripSlashes int, com
// * stripSlashes = 2, original path: "/foo/bar", result: ""
func (p *GardenParty) Static(relative string, systemPath string, stripSlashes int) {
if relative[len(relative)-1] != SlashByte { // if / then /*filepath, if /something then /something/*filepath
relative += "/"
relative += Slash
}
h := p.StaticHandlerFunc(systemPath, stripSlashes, false, false, nil)
@ -447,7 +449,6 @@ func (p *GardenParty) StaticFS(reqPath string, systemPath string, stripSlashes i
// * stripSlashes = 1, original path: "/foo/bar", result: "/bar"
// * stripSlashes = 2, original path: "/foo/bar", result: ""
// * if you don't know what to put on stripSlashes just 1
func (p *GardenParty) StaticWeb(reqPath string, systemPath string, stripSlashes int) {
if reqPath[len(reqPath)-1] != SlashByte { // if / then /*filepath, if /something then /something/*filepath
reqPath += "/"

View File

@ -45,6 +45,7 @@ type (
// parameter is the Route
PreHandle(IRoute)
}
// PreHandleFunc implements the simple function listener for the PreHandle(IRoute)
PreHandleFunc func(IRoute)
// IPluginPostHandle implements the PostHandle(IRoute) method
IPluginPostHandle interface {
@ -53,6 +54,7 @@ type (
// parameter is the Route
PostHandle(IRoute)
}
// PostHandleFunc implements the simple function listener for the PostHandle(IRoute)
PostHandleFunc func(IRoute)
// IPluginPreListen implements the PreListen(*Iris) method
IPluginPreListen interface {
@ -61,6 +63,7 @@ type (
// parameter is the station
PreListen(*Iris)
}
// PreListenFunc implements the simple function listener for the PreListen(*Iris)
PreListenFunc func(*Iris)
// IPluginPostListen implements the PostListen(*Iris) method
IPluginPostListen interface {
@ -68,6 +71,7 @@ type (
// parameter is the station
PostListen(*Iris)
}
// PostListenFunc implements the simple function listener for the PostListen(*Iris)
PostListenFunc func(*Iris)
// IPluginPreClose implements the PreClose(*Iris) method
IPluginPreClose interface {
@ -77,6 +81,7 @@ type (
// The plugin is deactivated after this state
PreClose(*Iris)
}
// PreCloseFunc implements the simple function listener for the PreClose(*Iris)
PreCloseFunc func(*Iris)
// IPluginPreDownload It's for the future, not being used, I need to create
@ -91,6 +96,8 @@ type (
// must return a boolean, if false then the plugin is not permmited to download this file
PreDownload(plugin IPlugin, downloadURL string) // bool
}
// PreDownloadFunc implements the simple function listener for the PreDownload(IPlugin,string)
PreDownloadFunc func(IPlugin, string)
// IPluginContainer is the interface which the PluginContainer should implements
@ -137,26 +144,46 @@ type (
// convert the functions to IPlugin
// PreHandle it's being called every time BEFORE a Route is registed to the Router
//
// parameter is the Route
func (fn PreHandleFunc) PreHandle(route IRoute) {
fn(route)
}
// PostHandle it's being called every time AFTER a Route successfully registed to the Router
//
// parameter is the Route
func (fn PostHandleFunc) PostHandle(route IRoute) {
fn(route)
}
// PreListen it's being called only one time, BEFORE the Server is started (if .Listen called)
// is used to do work at the time all other things are ready to go
// parameter is the station
func (fn PreListenFunc) PreListen(station *Iris) {
fn(station)
}
// PostListen it's being called only one time, AFTER the Server is started (if .Listen called)
// parameter is the station
func (fn PostListenFunc) PostListen(station *Iris) {
fn(station)
}
// PreClose it's being called only one time, BEFORE the Iris .Close method
// any plugin cleanup/clear memory happens here
//
// The plugin is deactivated after this state
func (fn PreCloseFunc) PreClose(station *Iris) {
fn(station)
}
// PreDownload it's being called every time a plugin tries to download something
//
// first parameter is the plugin
// second parameter is the download url
// must return a boolean, if false then the plugin is not permmited to download this file
func (fn PreDownloadFunc) PreDownload(pl IPlugin, downloadURL string) {
fn(pl, downloadURL)
}

View File

@ -12,16 +12,19 @@ import (
"github.com/kataras/iris/config"
)
// Engine the amber template engine
type Engine struct {
Config *config.Template
templateCache map[string]*template.Template
mu sync.Mutex
}
// New creates and returns a new amber engine
func New(cfg config.Template) *Engine {
return &Engine{Config: &cfg}
}
// BuildTemplates builds the amber templates
func (e *Engine) BuildTemplates() error {
opt := amber.DirOptions{}
opt.Recursive = true
@ -67,6 +70,7 @@ func (e *Engine) fromCache(relativeName string) *template.Template {
return nil
}
// ExecuteWriter executes a templates and write its results to the out writer
func (e *Engine) ExecuteWriter(out io.Writer, name string, binding interface{}, layout string) error {
if tmpl := e.fromCache(name); tmpl != nil {
return tmpl.ExecuteTemplate(out, name, binding)

View File

@ -14,6 +14,7 @@ import (
)
type (
// Engine the html/template engine
Engine struct {
Config *config.Template
Templates *template.Template

View File

@ -11,7 +11,7 @@ type Engine struct {
*html.Engine
}
// new creates and returns a new JadeEngine with its configs
// New creates and returns a new JadeEngine with its configs
func New(cfg config.Template) *Engine {
underline := &Engine{Engine: html.New(cfg)}

View File

@ -16,7 +16,9 @@ import (
)
// Supports RAW markdown only, no context binding or layout, to use dynamic markdown with other template engine use the context.Markdown/MarkdownString
type (
// Engine the jade engine
Engine struct {
Config *config.Template
templateCache map[string][]byte
@ -29,6 +31,7 @@ func New(c config.Template) *Engine {
return &Engine{Config: &c, templateCache: make(map[string][]byte)}
}
// BuildTemplates builds the templates
func (e *Engine) BuildTemplates() error {
if e.Config.Asset == nil || e.Config.AssetNames == nil {
return e.buildFromDir()
@ -140,7 +143,8 @@ func (e *Engine) fromCache(relativeName string) []byte {
return nil
}
// layout here is unnesecery
// ExecuteWriter executes a templates and write its results to the out writer
// layout here is useless
func (e *Engine) ExecuteWriter(out io.Writer, name string, binding interface{}, layout string) error {
if tmpl := e.fromCache(name); tmpl != nil {
_, err := out.Write(tmpl)

View File

@ -24,7 +24,7 @@ type (
//
// used to check arguments with the route's named parameters and return the correct url
// second parameter is false when the action cannot be done
// second return value is false when the action cannot be done
Parse(...interface{}) (string, bool)
// GetURI returns the GetDomain() + Parse(...optional named parameters if route is dynamic)
@ -169,6 +169,8 @@ func (r *Route) setHost(s string) {
r.host = s
}
// Parse used to check arguments with the route's named parameters and return the correct url
// second return value is false when the action cannot be done
func (r *Route) Parse(args ...interface{}) (string, bool) {
// check if arguments are not equal to the named parameters ( : = 1, * = all named parameters split to / ), if this happens then send not found err
///TODO: I'm thinking of making an option to disable these checks and just return a result, because they have cost when rendering an html/template, not too big compared to the render action but... we will see
@ -210,6 +212,8 @@ func (r *Route) Parse(args ...interface{}) (string, bool) {
return fmt.Sprintf(r.formattedPath, args...), true
}
// GetURI returns the GetDomain() + Parse(...optional named parameters if route is dynamic)
// instead of Parse it just returns an empty string if path parse is failed
func (r *Route) GetURI(args ...interface{}) (uri string) {
scheme := "http://"
if r.isTLS {

View File

@ -219,7 +219,7 @@ func (r *router) optimize() {
func (r *router) optimizeLookups() {
// set the isTLS on all routes and the listening full host
listeningHost := r.station.server.Listener().Addr().String()
for idx, _ := range r.lookups {
for idx := range r.lookups {
theR := r.lookups[idx]
theR.setTLS(r.station.server.IsSecure())
if theR.GetDomain() == "" { // means local, no subdomain

View File

@ -13,6 +13,7 @@ func init() {
}
var (
// Provider is the redis provider
Provider = sessions.NewProvider("redis")
// redis is the default redis service, you can set configs via this object
redis = service.New()

View File

@ -215,7 +215,7 @@ func dial(network string, addr string, pass string) (redis.Conn, error) {
return nil, err
}
if pass != "" {
if _, err := c.Do("AUTH", pass); err != nil {
if _, err = c.Do("AUTH", pass); err != nil {
c.Close()
return nil, err
}
@ -255,7 +255,7 @@ func (r *Service) Connect() {
if err != nil {
return nil, err
}
if _, err := red.Do("SELECT", c.Database); err != nil {
if _, err = red.Do("SELECT", c.Database); err != nil {
red.Close()
return nil, err
}

View File

@ -132,7 +132,7 @@ func (_tree *tree) serve(reqCtx *fasthttp.RequestCtx, path string) bool {
// response because older user agents may not understand 301/307.
// Shouldn't send the response for POST or HEAD; that leaves GET.
if _tree.method == MethodGet {
note := "<a href=\"" + utils.HtmlEscape(urlToRedirect) + "\">Moved Permanently</a>.\n"
note := "<a href=\"" + utils.HTMLEscape(urlToRedirect) + "\">Moved Permanently</a>.\n"
ctx.Write(note)
}
_tree.pool.Put(ctx)

View File

@ -22,8 +22,8 @@ var htmlReplacer = strings.NewReplacer(
"'", "&#39;",
)
// HtmlEscape returns a string which has no valid html code
func HtmlEscape(s string) string {
// HTMLEscape returns a string which has no valid html code
func HTMLEscape(s string) string {
return htmlReplacer.Replace(s)
}