Documentation
¶
Index ¶
- Constants
- Variables
- func AndList(listValues ...interface{}) bool
- func GetBoolForm(nameElement string, c *echo.Context) bool
- func GetPage(c *echo.Context) int
- func MakeErrorMessage(def, message string) error
- func MakeMap(value ...string) []string
- func MapIn(value interface{}, stock interface{}) bool
- type CSRFValidate
- type DBSInterface
- type DataSO
- type DefaultForm
- type FileInfo
- type FlashMessage
- type MailMessage
- type MethodsForms
- type Midfunc
- type ProxyMapperConfig
- type ProxyMapperValue
- type SessObj
- type SpoukCSRF
- type SpoukCarry
- func (m *SpoukCarry) Config() *Spoukconfig
- func (sr *SpoukCarry) Get(key string) (value interface{})
- func (sr *SpoukCarry) GetCook(nameCook string) *http.Cookie
- func (sr *SpoukCarry) GetCooks() []*http.Cookie
- func (sr *SpoukCarry) GetForm(key string) string
- func (sr *SpoukCarry) GetFormValue(key string) string
- func (sr *SpoukCarry) GetParam(key string) string
- func (sr *SpoukCarry) GetQuery(key string) string
- func (sr *SpoukCarry) GetQueryAll(key string) url.Values
- func (sr *SpoukCarry) JSON(code int, answer interface{}) (err error)
- func (sr *SpoukCarry) JSONB(httpcode int, b []byte) error
- func (sr *SpoukCarry) Params() *httprouter.Params
- func (sr *SpoukCarry) Path() (value string)
- func (m *SpoukCarry) RealPath() string
- func (sr *SpoukCarry) Redirect(path string) error
- func (m *SpoukCarry) Render(name string, data interface{}) error
- func (sr *SpoukCarry) Request() *http.Request
- func (sr *SpoukCarry) Response() *http.ResponseWriter
- func (sr *SpoukCarry) Set(key string, value interface{})
- func (sr *SpoukCarry) SetCook(c http.Cookie)
- func (s *SpoukCarry) ShowMiddlwaresAndSession()
- func (sr *SpoukCarry) WriteHTML(httpcode int, text string) error
- type SpoukConfigProxy
- type SpoukConverter
- func (c *SpoukConverter) ConvertHTMLDatetoUnix(date string) (int64, error)
- func (c *SpoukConverter) ConvertUnixTimeToString(unixtime int64) string
- func (c *SpoukConverter) DataLocalToTimeUnix(datatimeLocal string) int64
- func (c *SpoukConverter) DirectStringtoInt64(v string) int64
- func (c *SpoukConverter) Result() interface{}
- func (c *SpoukConverter) StrToInt() *SpoukConverter
- func (c *SpoukConverter) StrToInt64() *SpoukConverter
- func (c *SpoukConverter) TimeUnixToDataLocal(unixtime int64) string
- func (c *SpoukConverter) Value(value interface{}) *SpoukConverter
- type SpoukFlasher
- type SpoukForm
- func (b *SpoukForm) AddForm(name string, form DefaultForm)
- func (b *SpoukForm) ConvertBool(name string) bool
- func (b *SpoukForm) ConvertInt(name string) int64
- func (b *SpoukForm) ConvertSliceINT64(name string) []int64
- func (b *SpoukForm) ConvertString(name string) string
- func (b *SpoukForm) InitForm(form UserForm)
- func (b *SpoukForm) ParseFields(obj interface{}) *Stocker
- func (b *SpoukForm) ParseForm(obj interface{})
- func (b *SpoukForm) ResetForm()
- func (b *SpoukForm) UpdateForm(form UserForm, obj interface{})
- func (b *SpoukForm) UpdateFormDeep(form interface{}) []StockValue
- func (b *SpoukForm) ValidateForm(form UserForm) (status bool)
- type SpoukHandler
- type SpoukHandlerStock
- type SpoukLogger
- type SpoukMail
- type SpoukMuxRendering
- type SpoukPaginate
- type SpoukPaginateResult
- type SpoukRender
- func (s *SpoukRender) AddFilters(stack map[string]interface{})
- func (s *SpoukRender) AddUserFilter(name string, f interface{})
- func (s *SpoukRender) HTMLTrims(body []byte) []byte
- func (s *SpoukRender) ReloadTemplate()
- func (s *SpoukRender) Render(w io.Writer, name string, data interface{}) error
- func (s *SpoukRender) ShowStack()
- func (s *SpoukRender) SpoukRenderIO(name string, data interface{}, w http.ResponseWriter, reloadTemplate bool) (err error)
- type SpoukSession
- type SpoukSessionObject
- type SpoukTransliter
- type SpoukUploader
- type Spoukconfig
- type Spoukmux
- func (s *Spoukmux) AddMiddleware(mid Midfunc)
- func (s *Spoukmux) AddUserFilterRender(name string, f interface{})
- func (s *Spoukmux) AddUserFlitersRender(userfilters map[string]interface{})
- func (s *Spoukmux) Config() *Spoukconfig
- func (s *Spoukmux) Get(path string, h SpoukHandler)
- func (s *Spoukmux) Multi(methods []string, path string, h SpoukHandler)
- func (s *Spoukmux) Post(path string, h SpoukHandler)
- func (s *Spoukmux) Run()
- func (s *Spoukmux) RunTLS(certFile, keyFile string)
- func (m Spoukmux) ServeHTTP(w http.ResponseWriter, r *http.Request)
- func (m *Spoukmux) Session() *SpoukSession
- func (s *Spoukmux) SetMehodNotAllowedHandler(h SpoukHandler)
- func (m *Spoukmux) SetRender(r SpoukMuxRendering)
- func (s *Spoukmux) SetSessionObject(so SpoukSessionObject)
- func (m *Spoukmux) SetStockHandlerStock(stock SpoukHandlerStock)
- func (s *Spoukmux) ShowConfig()
- func (s *Spoukmux) ShowMiddlewares()
- func (m *Spoukmux) ShowRoutingMap()
- func (m *Spoukmux) StaticFiles(realpath, wwwpath string)
- func (s *Spoukmux) Subroute(prefix string) *spoukSubdomain
- type StockValue
- type Stocker
- type UserForm
Constants ¶
const ( ApplicationJSON = "application/json" ApplicationJSONCharsetUTF8 = ApplicationJSON + "; " + CharsetUTF8 ApplicationJavaScript = "application/javascript" ApplicationJavaScriptCharsetUTF8 = ApplicationJavaScript + "; " + CharsetUTF8 ApplicationXML = "application/xml" ApplicationXMLCharsetUTF8 = ApplicationXML + "; " + CharsetUTF8 ApplicationForm = "application/x-www-form-urlencoded" ApplicationProtobuf = "application/protobuf" ApplicationMsgpack = "application/msgpack" TextHTML = "text/html" TextHTMLCharsetUTF8 = TextHTML + "; " + CharsetUTF8 TextPlain = "text/plain" TextPlainCharsetUTF8 = TextPlain + "; " + CharsetUTF8 MultipartForm = "multipart/form-data" CharsetUTF8 = "charset=utf-8" AcceptEncoding = "Accept-Encoding" Authorization = "Authorization" ContentDisposition = "Content-Disposition" ContentEncoding = "Content-Encoding" ContentLength = "Content-Length" ContentType = "Content-Type" Location = "Location" Upgrade = "Upgrade" Vary = "Vary" WWWAuthenticate = "WWW-Authenticate" XForwardedFor = "X-Forwarded-For" XRealIP = "X-Real-IP" )
const ( ErrorRenderContent = "\n[spoukrender][content] `%s`\n" ErrorCatcherPanic = "\n[spoukrender][catcherPanic] `%v`\n" )
const ( SPOUKCARRYUPLOAD = "[spoukuploader][uploadfile][ERROR] %v\n" SPOUKCARRYUPLOADOK = "[spoukuploader][uploadfile][OK] `%v`\n" )
const (
ErrorValueNotValidConvert = "Value not valid for converting"
)
Variables ¶
var ( //сообщения об ошибках в формах ErrorUsername = "Имя пользователя ошибочно" ErrorPassword = "Пароль ошибочен" ErrorEmail = "Почтовый адрес ошибочен" //`placeholder` описания для формы PlaceUsername = "= имя пользователя = " PlacePassword = "= пароль =" PlaceEmail = "= почтовый адрес =" //ошибки ParseErrorInt = errors.New("[parseform][error] ошибка парсинга `string`->`int64`") PTRFormError = errors.New("[baseform][error] Ошибка, дай мне указатель на структуру для записи") PTRFormErrorMethods = errors.New("[baseform][error] Ошибка, отсутствует реализация интерфейса методов для получения данных из формы") CSRFErrorValidate = "CSRF не валидное значение" //название стилей для ошибок в формах полей ErrorStyleForm = "has-error" SuccessStyleForm = "has-success" //сообщения для ошибки в формах при валидации формы ErrorMsgFormString = "- поле не может быть пустым -" ErrorMsgFormCheckbox = "- нажмите на чекбокс, если вы не робот -" ErrorMsgFormBool = "- сделайте отметку -" ErrorMsgFormSelect = "- не выбран ни один из элементов -" )
var ( DefaultValues map[string]DefaultForm = map[string]DefaultForm{ "Name": DefaultForm{Placeholder: "=введите имя пользователя=", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поле не может быть пустым"}, "Username": DefaultForm{Placeholder: "=введите имя пользователя=", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поле не может быть пустым"}, "Password": DefaultForm{Placeholder: "=введите пароль =", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поле не может быть пустым"}, "Email": DefaultForm{Placeholder: "=введите email =", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поле не может быть пустым"}, "Port": DefaultForm{Placeholder: "=порт сервера=", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поле не может быть пустым"}, "CatName": DefaultForm{Placeholder: "=введите название категории=", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поле не может быть пустым"}, "Title": DefaultForm{Placeholder: "=введите заголовок =", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поле не может быть пустым"}, "MetaKeys": DefaultForm{Placeholder: "=введите SEO слова =", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поле не может быть пустым"}, "MetaDesc": DefaultForm{Placeholder: "=введите SEO описание-сниппет =", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поле не может быть пустым"}, "MetaRobot": DefaultForm{Placeholder: "=введите занчения для SEO robot=", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поле не может быть пустым"}, "Message": DefaultForm{Placeholder: "=введите текст сообщения=", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поле не может быть пустым"}, "Body": DefaultForm{Placeholder: "=введите тело сообщения =", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поле не может быть пустым"}, "Link": DefaultForm{Placeholder: "=введите ссылку-ключ =", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поле не может быть пустым"}, "Age": DefaultForm{Placeholder: "=введите ваш возраст=", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поле не может быть пустым"}, "UserInfoUsername": DefaultForm{Placeholder: "=введите имя пользователя=", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поле не может быть пустым"}, "UserInfoPassword": DefaultForm{Placeholder: "=введите пароль =", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поле не может быть пустым"}, "UserEmail": DefaultForm{Placeholder: "=введите email =", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поле не может быть пустым"}, "CategoryName": DefaultForm{Placeholder: "=введите название категории=", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поле не может быть пустым"}, "PostTitle": DefaultForm{Placeholder: "=введите заголовок =", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поле не может быть пустым"}, "PostBody": DefaultForm{Placeholder: "=введите тело сообщения =", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поле не может быть пустым"}, "PostSeoMetaKeys": DefaultForm{Placeholder: "=введите SEO слова =", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поле не может быть пустым"}, "PostSeoMetaDesc": DefaultForm{Placeholder: "=введите SEO описание-сниппет =", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поле не может быть пустым"}, "PostSeoMetaRobot": DefaultForm{Placeholder: "=введите занчения для SEO robot=", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поле не может быть пустым"}, "TagName": DefaultForm{Placeholder: "=введите имя метки =", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поле не может быть пустым"}, "PostCategoryID": DefaultForm{Placeholder: "", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "значение должно быть выбрано"}, "PostUserID": DefaultForm{Placeholder: "", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "значение должно быть выбрано"}, "Robot": DefaultForm{Placeholder: "", ErrorClassStyle: "has-error", SuccessClassStyle: "ok", ErrorMsg: "поставьте отметку что вы не робот"}, } )
var (
ErrorDBSNotReleased = errors.New("[configproxy][error] DBSInterface not released this instanse")
)
var (
ErrorSession = "[spouksession][error] `%s`\n"
)
var ( Local_filter = map[string]interface{}{ "count": strings.Count, "split": strings.Split, "title": strings.Title, "lower": strings.ToLower, "totitle": strings.ToTitle, "makemap": MakeMap, "in": MapIn, "andlist": AndList, "upper": strings.ToUpper, "html2": func(value string) template.HTML { return template.HTML(fmt.Sprint(value)) }, } )
определение дефолтных значений фильтров и функций
Functions ¶
Types ¶
type DBSInterface ¶
---------------------------------------------------------------------------
spoukProxyConfig
---------------------------------------------------------------------------
type DataSO ¶
type DataSO map[string]interface{}
func NewDataSo ¶
func NewDataSo() *DataSO
---------------------------------------------------------------------------
DataSO
---------------------------------------------------------------------------
func (DataSO) GetUserData ¶
func (DataSO) SetUserData ¶
type DefaultForm ¶
type DefaultForm struct { ErrorMsg string ErrorClassStyle string SuccessClassStyle string SuccessMessage string Placeholder string }
структура для дефолтных значений
type FlashMessage ¶
type FlashMessage struct { Status string Message interface{} }
type MailMessage ¶
type MailMessage struct { To string From string Message string Subject string FileAttach string `fullpath to file` Host string Port int Username string Password string }
func (MailMessage) MailSend ¶
func (mail MailMessage) MailSend(message *MailMessage) error
type MethodsForms ¶
интерфейс для методов получения данных из формы, для полного абстрагирования от всякого говна, типа фреймворков
type Midfunc ¶
type Midfunc func(SpoukHandler) SpoukHandler
type ProxyMapperConfig ¶
type ProxyMapperConfig struct {
Stock map[string]interface{}
}
type ProxyMapperValue ¶
type ProxyMapperValue struct { Name string Value interface{} }
type SessObj ¶
type SessObj struct { Spoukmux *Spoukmux SpoukCarry *SpoukCarry }
type SpoukCSRF ¶
type SpoukCSRF struct { TimeActive time.Duration TimeStart time.Time Salt string Key *uuid.UUID ReadyKey string Csrf_form func() (*string, error) Csrf_head func() (*string, error) }
func NewSpoukCSRF ¶
func (SpoukCSRF) VerifyToken ¶
func (c SpoukCSRF) VerifyToken(s *SpoukCarry) bool
func (SpoukCSRF) VerifyTokenString ¶
type SpoukCarry ¶
type SpoukCarry struct { Spoukmux *Spoukmux // contains filtered or unexported fields }
func (*SpoukCarry) Config ¶
func (m *SpoukCarry) Config() *Spoukconfig
func (*SpoukCarry) Get ¶
func (sr *SpoukCarry) Get(key string) (value interface{})
func (*SpoukCarry) GetCooks ¶
func (sr *SpoukCarry) GetCooks() []*http.Cookie
func (*SpoukCarry) GetForm ¶
func (sr *SpoukCarry) GetForm(key string) string
func (*SpoukCarry) GetFormValue ¶
func (sr *SpoukCarry) GetFormValue(key string) string
func (*SpoukCarry) GetParam ¶
func (sr *SpoukCarry) GetParam(key string) string
func (*SpoukCarry) GetQuery ¶
func (sr *SpoukCarry) GetQuery(key string) string
func (*SpoukCarry) GetQueryAll ¶
func (sr *SpoukCarry) GetQueryAll(key string) url.Values
func (*SpoukCarry) JSON ¶
func (sr *SpoukCarry) JSON(code int, answer interface{}) (err error)
func (*SpoukCarry) Params ¶
func (sr *SpoukCarry) Params() *httprouter.Params
func (*SpoukCarry) Path ¶
func (sr *SpoukCarry) Path() (value string)
func (*SpoukCarry) RealPath ¶
func (m *SpoukCarry) RealPath() string
func (*SpoukCarry) Redirect ¶
func (sr *SpoukCarry) Redirect(path string) error
func (*SpoukCarry) Render ¶
func (m *SpoukCarry) Render(name string, data interface{}) error
func (*SpoukCarry) Request ¶
func (sr *SpoukCarry) Request() *http.Request
func (*SpoukCarry) Response ¶
func (sr *SpoukCarry) Response() *http.ResponseWriter
func (*SpoukCarry) Set ¶
func (sr *SpoukCarry) Set(key string, value interface{})
func (*SpoukCarry) SetCook ¶
func (sr *SpoukCarry) SetCook(c http.Cookie)
func (*SpoukCarry) ShowMiddlwaresAndSession ¶
func (s *SpoukCarry) ShowMiddlwaresAndSession()
type SpoukConfigProxy ¶
type SpoukConfigProxy struct { ConfigFromFile interface{} CurrentConfig interface{} ConfigFile string StructFile interface{} Mapper *ProxyMapperConfig // contains filtered or unexported fields }
func NewSpoukProxyConfig ¶
func NewSpoukProxyConfig(fileconfigjson string, structFile interface{}, dbs DBSInterface) (*SpoukConfigProxy, error)
---------------------------------------------------------------------------
SpoukProxyConfig
---------------------------------------------------------------------------
func (*SpoukConfigProxy) ReadConfigFromDB ¶
func (c *SpoukConfigProxy) ReadConfigFromDB() error
func (*SpoukConfigProxy) ShowType ¶
func (c *SpoukConfigProxy) ShowType(s interface{})
func (*SpoukConfigProxy) WriteConfigDB ¶
func (c *SpoukConfigProxy) WriteConfigDB() error
type SpoukConverter ¶
type SpoukConverter struct {
// contains filtered or unexported fields
}
func NewSpoukConverter ¶
func NewSpoukConverter() *SpoukConverter
func (*SpoukConverter) ConvertHTMLDatetoUnix ¶
func (c *SpoukConverter) ConvertHTMLDatetoUnix(date string) (int64, error)
---------------------------------------------------------------------------
time convert
---------------------------------------------------------------------------
func (*SpoukConverter) ConvertUnixTimeToString ¶
func (c *SpoukConverter) ConvertUnixTimeToString(unixtime int64) string
func (*SpoukConverter) DataLocalToTimeUnix ¶
func (c *SpoukConverter) DataLocalToTimeUnix(datatimeLocal string) int64
convert HTML5Datatime_local(string)->TimeUnix
func (*SpoukConverter) DirectStringtoInt64 ¶
func (c *SpoukConverter) DirectStringtoInt64(v string) int64
func (*SpoukConverter) Result ¶
func (c *SpoukConverter) Result() interface{}
---------------------------------------------------------------------------
возвращает результат конвертации
---------------------------------------------------------------------------
func (*SpoukConverter) StrToInt ¶
func (c *SpoukConverter) StrToInt() *SpoukConverter
func (*SpoukConverter) StrToInt64 ¶
func (c *SpoukConverter) StrToInt64() *SpoukConverter
func (*SpoukConverter) TimeUnixToDataLocal ¶
func (c *SpoukConverter) TimeUnixToDataLocal(unixtime int64) string
convert timeUnix->HTML5Datatime_local(string)
func (*SpoukConverter) Value ¶
func (c *SpoukConverter) Value(value interface{}) *SpoukConverter
---------------------------------------------------------------------------
инциализация вводным значением
---------------------------------------------------------------------------
type SpoukFlasher ¶
type SpoukFlasher struct { sync.RWMutex Key string Stock map[string]*FlashMessage }
func NewSpoukFlasher ¶
func NewSpoukFlasher() *SpoukFlasher
---------------------------------------------------------------------------
functions
---------------------------------------------------------------------------
func (*SpoukFlasher) Get ¶
func (f *SpoukFlasher) Get(section string) *FlashMessage
func (*SpoukFlasher) Set ¶
func (f *SpoukFlasher) Set(status, section string, message interface{})
type SpoukForm ¶
type SpoukForm struct { ParseWithInit bool Errors map[string]string Class map[string]string Desc map[string]string Stack map[string]interface{} CSRFValidate CSRFValidate MethodsForms MethodsForms DefaultForm map[string]DefaultForm }
базовая структура для всех форм
func NewSpoukForm ¶
func NewSpoukForm(defaultForms map[string]DefaultForm, methodsForm MethodsForms, ParseWithInit bool) *SpoukForm
---------------------------------------------------------------------------
создания инстанса + основной функционал
---------------------------------------------------------------------------
func (*SpoukForm) AddForm ¶
func (b *SpoukForm) AddForm(name string, form DefaultForm)
func (*SpoukForm) ConvertBool ¶
func (*SpoukForm) ConvertInt ¶
func (*SpoukForm) ConvertSliceINT64 ¶
func (*SpoukForm) ConvertString ¶
func (*SpoukForm) ParseFields ¶
func (*SpoukForm) ResetForm ¶
func (b *SpoukForm) ResetForm()
---------------------------------------------------------------------------
functions
---------------------------------------------------------------------------
func (*SpoukForm) UpdateForm ¶
func (b *SpoukForm)LoadForm(obj interface{}, form UserForm) { //загружаю данные из принятой формы с данными в объект по таким же именам if reflect.ValueOf(obj).Kind() != reflect.Ptr || reflect.ValueOf(form).Kind() != reflect.Ptr { log.Fatal(PTRFormError) } //получаю стокер со списком филдов объекта из базы данных как правило stocker := b.ParseFields(obj) //заполняет форму данными из объекта, используется при обновлении объектов, как пример mv := reflect.ValueOf(form).Elem() mt := reflect.TypeOf(form).Elem() //провожу заполнение for x := 0; x < mv.NumField(); x++ { //получаем имя элемента структуры name := mt.Field(x).Name //пробую получить элемент с таким же названием из объекта + //if v, ok := stocker.Stock[name]; ok { // // b.Stack[name] = v //} } }
func (*SpoukForm) UpdateFormDeep ¶
func (b *SpoukForm) UpdateFormDeep(form interface{}) []StockValue
func (*SpoukForm) ValidateForm ¶
type SpoukHandler ¶
type SpoukHandler func(*SpoukCarry) error
func (SpoukHandler) ServeHTTPSpouker ¶
func (m SpoukHandler) ServeHTTPSpouker(s *SpoukCarry)
func (sr *spoukrouter) SetMethodNotAllowed(h SpoukHandler) { sr.router.MethodNotAllowed = sr.wrapperforSpoukHandler(h) }
---------------------------------------------------------------------------
SPOUKHANDLER
---------------------------------------------------------------------------
type SpoukHandlerStock ¶
type SpoukHandlerStock interface {
StockInit(s *SpoukCarry, args ...interface{})
}
интерфейс для стека обработчиков
type SpoukLogger ¶
func NewSpoukLogger ¶
func NewSpoukLogger(subprefix string, logging io.Writer) *SpoukLogger
func (*SpoukLogger) Error ¶
func (s *SpoukLogger) Error(message string)
func (*SpoukLogger) Info ¶
func (s *SpoukLogger) Info(message string)
func (*SpoukLogger) Printf ¶
func (s *SpoukLogger) Printf(format string, v ...interface{})
func (*SpoukLogger) Warning ¶
func (s *SpoukLogger) Warning(message string)
type SpoukMail ¶
type SpoukMail struct {
MailMessage MailMessage
}
type SpoukMuxRendering ¶
type SpoukMuxRendering interface { SpoukRenderIO(name string, data interface{}, resp http.ResponseWriter, reloadTemplate bool) (err error) AddUserFilter(name string, f interface{}) AddFilters(stack map[string]interface{}) ReloadTemplate() }
интерфейс для рендера
type SpoukPaginate ¶
type SpoukPaginate struct { Result *SpoukPaginateResult // contains filtered or unexported fields }
func NewSpoukPaginate ¶
func NewSpoukPaginate(s *Spoukmux) *SpoukPaginate
func (*SpoukPaginate) PaginateHTML ¶
func (s *SpoukPaginate) PaginateHTML(current_page int, count_on_page int, count_links int, path string, total_len int) string
func (s *SpoukPaginate) Paginate(typeTable interface{}, page int64, path string) (*SpoukPaginateResult) { countpage := s.spoukmux.config.CountOnPage countlinks := s.spoukmux.config.CountLinks if answer := s.Dbs.Paginate(typeTable ,page, int(countpage)); answer.Status == false { return nil } else { links := s.PaginateHTML(int(page), int(countpage), int(countlinks), path, answer.CountTotal) return &SpoukPaginateResult{Total:answer.Total,Result:answer.Result,Links:links} } }
type SpoukPaginateResult ¶
type SpoukPaginateResult struct { Total interface{} Result interface{} Links string }
type SpoukRender ¶
type SpoukRender struct { Temp *template.Template FIlters template.FuncMap Debug bool Path string sync.RWMutex }
рендеринг инстанс
func NewSpoukRender ¶
func NewSpoukRender(path string, debug bool) *SpoukRender
func (*SpoukRender) AddFilters ¶
func (s *SpoukRender) AddFilters(stack map[string]interface{})
func (*SpoukRender) AddUserFilter ¶
func (s *SpoukRender) AddUserFilter(name string, f interface{})
func (*SpoukRender) HTMLTrims ¶
func (s *SpoukRender) HTMLTrims(body []byte) []byte
func (*SpoukRender) ReloadTemplate ¶
func (s *SpoukRender) ReloadTemplate()
func (*SpoukRender) Render ¶
func (s *SpoukRender) Render(w io.Writer, name string, data interface{}) error
func (*SpoukRender) ShowStack ¶
func (s *SpoukRender) ShowStack()
func (*SpoukRender) SpoukRenderIO ¶
func (s *SpoukRender) SpoukRenderIO(name string, data interface{}, w http.ResponseWriter, reloadTemplate bool) (err error)
type SpoukSession ¶
type SpoukSession struct { Spoukmux *Spoukmux Paginate *SpoukPaginate Csrf *SpoukCSRF Flasher *SpoukFlasher Mail *SpoukMail Convert *SpoukConverter SessionObject SpoukSessionObject }
фабрика сессий, с сохранением состояния между реквестами, статичный инстанс
type SpoukSessionObject ¶
type SpoukSessionObject interface { NewSpoukSessionObject(s *SpoukSession, c *SpoukCarry) interface{} InitSpoukSessionObject(s interface{}) }
---------------------------------------------------------------------------
сессионный динамический объект, интерфейс для него
---------------------------------------------------------------------------
SpoukSessionObject interface { NewSpoukSessionObject(spoukcarry *SpoukCarry, mail *SpoukMail, flasher *SpoukFlasher, csrf *SpoukCSRF, spoukPaginate *SpoukPaginate, spoukmux *Spoukmux, conver *SpoukConverter, data *DataSO) *SessionObject InitSpoukSessionObject() }
type SpoukTransliter ¶
func NewSpoukTransliter ¶
func NewSpoukTransliter() *SpoukTransliter
func (*SpoukTransliter) ShowAscii ¶
func (s *SpoukTransliter) ShowAscii()
func (*SpoukTransliter) TransliterCyr ¶
func (s *SpoukTransliter) TransliterCyr(str string) string
type SpoukUploader ¶
type SpoukUploader struct {
Stock []FileInfo
}
func NewSpoukUploader ¶
func NewSpoukUploader() *SpoukUploader
func (*SpoukUploader) Upload ¶
func (u *SpoukUploader) Upload(nameForm string, ajax bool, sr *SpoukCarry) error
---------------------------------------------------------------------------
загрузка single/multiple формы без участия сторонних асинхронных методов типа ajax
---------------------------------------------------------------------------
func (*SpoukUploader) UploadSingleAJAX ¶
func (u *SpoukUploader) UploadSingleAJAX(formName string, sr *SpoukCarry) *FileInfo
---------------------------------------------------------------------------
загрузка одиночного файла с участием AJAX
---------------------------------------------------------------------------
type Spoukconfig ¶
type Spoukconfig struct { //http timeouts HTTPReadTimeout time.Duration HTTPWriteTimeout time.Duration //addr Address string //ssl + no ssl HTTP string HTTPS string //template TemplatePath string TemplateDebug bool //session UseSession bool SessionTime int64 //cookies CookName string //host info Hostname string //paginate CountOnPage int64 CountLinks int64 //csrf CSRFActiveMinute int CSRFSalt string //Files download path default UPLOADFilesPath string //--------------------------------------------------------------------------- // проксификатор для внешнего файла конфига, реализованного в .json формате //--------------------------------------------------------------------------- ConfigProxy *SpoukConfigProxy // contains filtered or unexported fields }
func NewSpoukconfig ¶
func NewSpoukconfig() *Spoukconfig
func (*Spoukconfig) InjectExternConfigJson ¶
func (s *Spoukconfig) InjectExternConfigJson(fileconfigjson string, structFile interface{}, dbs DBSInterface) error
---------------------------------------------------------------------------
SpoukConfig
---------------------------------------------------------------------------
type Spoukmux ¶
type Spoukmux struct { RouteMapper map[string]spoukMapRoute // contains filtered or unexported fields }
func NewSpoukmux ¶
func NewSpoukmux(spcfg *Spoukconfig) *Spoukmux
func (*Spoukmux) AddMiddleware ¶
func (*Spoukmux) AddUserFilterRender ¶
func (*Spoukmux) AddUserFlitersRender ¶
user filter map[commandintemplate]func closure
func (*Spoukmux) Config ¶
func (s *Spoukmux) Config() *Spoukconfig
func (*Spoukmux) Get ¶
func (s *Spoukmux) Get(path string, h SpoukHandler)
func (*Spoukmux) Post ¶
func (s *Spoukmux) Post(path string, h SpoukHandler)
func (*Spoukmux) Session ¶
func (m *Spoukmux) Session() *SpoukSession
func (*Spoukmux) SetMehodNotAllowedHandler ¶
func (s *Spoukmux) SetMehodNotAllowedHandler(h SpoukHandler)
func (*Spoukmux) SetRender ¶
func (m *Spoukmux) SetRender(r SpoukMuxRendering)
func (*Spoukmux) SetSessionObject ¶
func (s *Spoukmux) SetSessionObject(so SpoukSessionObject)
func (*Spoukmux) SetStockHandlerStock ¶
func (m *Spoukmux) SetStockHandlerStock(stock SpoukHandlerStock)
func (*Spoukmux) ShowConfig ¶
func (s *Spoukmux) ShowConfig()
func (*Spoukmux) ShowMiddlewares ¶
func (s *Spoukmux) ShowMiddlewares()
func (*Spoukmux) ShowRoutingMap ¶
func (m *Spoukmux) ShowRoutingMap()
func (*Spoukmux) StaticFiles ¶
type StockValue ¶
type StockValue struct { Name string Value interface{} }
type Stocker ¶
type Stocker struct {
Stock map[string]interface{}
}
func NewStocker ¶
func NewStocker() *Stocker
---------------------------------------------------------------------------
Стокер структура для внутреннего использования внутри либы
---------------------------------------------------------------------------
Source Files
¶
Directories
¶
Path | Synopsis |
---|---|
Package httprouter is a trie based high performance HTTP request router.
|
Package httprouter is a trie based high performance HTTP request router. |