Documentation ¶
Overview ¶
HTTP Client & Server.
Index ¶
- Constants
- func BuildParams(params map[string]string) string
- func Wait()
- type Client
- func (c *Client) Connect(url, data string) (*ClientResponse, error)
- func (c *Client) Delete(url, data string) (*ClientResponse, error)
- func (c *Client) DoRequest(method, url string, data []byte) (*ClientResponse, error)
- func (c *Client) Get(url string) (*ClientResponse, error)
- func (c *Client) Head(url, data string) (*ClientResponse, error)
- func (c *Client) Options(url, data string) (*ClientResponse, error)
- func (c *Client) Patch(url, data string) (*ClientResponse, error)
- func (c *Client) Post(url, data string) (*ClientResponse, error)
- func (c *Client) Put(url, data string) (*ClientResponse, error)
- func (c *Client) SetBasicAuth(user, pass string)
- func (c *Client) SetHeader(key, value string)
- func (c *Client) SetTimeOut(t time.Duration)
- func (c *Client) Trace(url, data string) (*ClientResponse, error)
- type ClientResponse
- func Connect(url, data string) (*ClientResponse, error)
- func Delete(url, data string) (*ClientResponse, error)
- func DoRequest(method, url string, data []byte) (*ClientResponse, error)
- func Get(url string) (*ClientResponse, error)
- func Head(url, data string) (*ClientResponse, error)
- func Options(url, data string) (*ClientResponse, error)
- func Patch(url, data string) (*ClientResponse, error)
- func Post(url, data string) (*ClientResponse, error)
- func Put(url, data string) (*ClientResponse, error)
- func Trace(url, data string) (*ClientResponse, error)
- type Controller
- type Cookie
- func (c *Cookie) Contains(key string) bool
- func (c *Cookie) Get(key string) string
- func (c *Cookie) Map() map[string]string
- func (c *Cookie) Output()
- func (c *Cookie) Remove(key, domain, path string)
- func (c *Cookie) SessionId() string
- func (c *Cookie) Set(key, value string)
- func (c *Cookie) SetCookie(key, value, domain, path string, maxAge int, httpOnly ...bool)
- func (c *Cookie) SetSessionId(id string)
- type CookieItem
- type Domain
- func (d *Domain) BindController(pattern string, c Controller, methods ...string) error
- func (d *Domain) BindControllerMethod(pattern string, c Controller, method string) error
- func (d *Domain) BindControllerRest(pattern string, c Controller) error
- func (d *Domain) BindHandler(pattern string, handler HandlerFunc) error
- func (d *Domain) BindHookHandler(pattern string, hook string, handler HandlerFunc) error
- func (d *Domain) BindHookHandlerByMap(pattern string, hookmap map[string]HandlerFunc) error
- func (d *Domain) BindObject(pattern string, obj interface{}, methods ...string) error
- func (d *Domain) BindObjectMethod(pattern string, obj interface{}, method string) error
- func (d *Domain) BindObjectRest(pattern string, obj interface{}) error
- func (d *Domain) BindStatusHandler(status int, handler HandlerFunc)
- func (d *Domain) BindStatusHandlerByMap(handlerMap map[int]HandlerFunc)
- type HandlerFunc
- type LogHandler
- type Request
- func (r *Request) AddPost(key string, value string)
- func (r *Request) AddQuery(key string, value string)
- func (r *Request) AddRouterString(key, value string)
- func (r *Request) BasicAuth(user, pass string, tips ...string) bool
- func (r *Request) Exit()
- func (r *Request) Get(key string, def ...string) string
- func (r *Request) GetArray(key string, def ...[]string) []string
- func (r *Request) GetClientIp() string
- func (r *Request) GetFloat32(key string, def ...float32) float32
- func (r *Request) GetFloat64(key string, def ...float64) float64
- func (r *Request) GetFloats(key string, def ...[]float64) []float64
- func (r *Request) GetHost() string
- func (r *Request) GetInt(key string, def ...int) int
- func (r *Request) GetInterfaces(key string, def ...[]interface{}) []interface{}
- func (r *Request) GetInts(key string, def ...[]int) []int
- func (r *Request) GetJson() *gjson.Json
- func (r *Request) GetMap(def ...map[string]string) map[string]string
- func (r *Request) GetPost(key string, def ...[]string) []string
- func (r *Request) GetPostArray(key string, def ...[]string) []string
- func (r *Request) GetPostBool(key string, def ...bool) bool
- func (r *Request) GetPostFloat32(key string, def ...float32) float32
- func (r *Request) GetPostFloat64(key string, def ...float64) float64
- func (r *Request) GetPostFloats(key string, def ...[]float64) []float64
- func (r *Request) GetPostInt(key string, def ...int) int
- func (r *Request) GetPostInterfaces(key string, def ...[]interface{}) []interface{}
- func (r *Request) GetPostInts(key string, def ...[]int) []int
- func (r *Request) GetPostMap(def ...map[string]string) map[string]string
- func (r *Request) GetPostString(key string, def ...string) string
- func (r *Request) GetPostStrings(key string, def ...[]string) []string
- func (r *Request) GetPostToStruct(object interface{}, mapping ...map[string]string)
- func (r *Request) GetPostUint(key string, def ...uint) uint
- func (r *Request) GetQuery(key string, def ...[]string) []string
- func (r *Request) GetQueryArray(key string, def ...[]string) []string
- func (r *Request) GetQueryBool(key string, def ...bool) bool
- func (r *Request) GetQueryFloat32(key string, def ...float32) float32
- func (r *Request) GetQueryFloat64(key string, def ...float64) float64
- func (r *Request) GetQueryFloats(key string, def ...[]float64) []float64
- func (r *Request) GetQueryInt(key string, def ...int) int
- func (r *Request) GetQueryInterfaces(key string, def ...[]interface{}) []interface{}
- func (r *Request) GetQueryInts(key string, def ...[]int) []int
- func (r *Request) GetQueryMap(def ...map[string]string) map[string]string
- func (r *Request) GetQueryString(key string, def ...string) string
- func (r *Request) GetQueryStrings(key string, def ...[]string) []string
- func (r *Request) GetQueryToStruct(object interface{}, mapping ...map[string]string)
- func (r *Request) GetQueryUint(key string, def ...uint) uint
- func (r *Request) GetRaw() []byte
- func (r *Request) GetReferer() string
- func (r *Request) GetRequest(key string, def ...[]string) []string
- func (r *Request) GetRequestArray(key string, def ...[]string) []string
- func (r *Request) GetRequestBool(key string, def ...bool) bool
- func (r *Request) GetRequestFloat32(key string, def ...float32) float32
- func (r *Request) GetRequestFloat64(key string, def ...float64) float64
- func (r *Request) GetRequestFloats(key string, def ...[]float64) []float64
- func (r *Request) GetRequestInt(key string, def ...int) int
- func (r *Request) GetRequestInterfaces(key string, def ...[]interface{}) []interface{}
- func (r *Request) GetRequestInts(key string, def ...[]int) []int
- func (r *Request) GetRequestMap(def ...map[string]string) map[string]string
- func (r *Request) GetRequestString(key string, def ...string) string
- func (r *Request) GetRequestStrings(key string, def ...[]string) []string
- func (r *Request) GetRequestToStruct(object interface{}, mapping ...map[string]string)
- func (r *Request) GetRequestUint(key string, def ...uint) uint
- func (r *Request) GetRequestVar(key string, def ...interface{}) *gvar.Var
- func (r *Request) GetRouterArray(key string) []string
- func (r *Request) GetRouterString(key string) string
- func (r *Request) GetString(key string, def ...string) string
- func (r *Request) GetStrings(key string, def ...[]string) []string
- func (r *Request) GetToStruct(object interface{}, mapping ...map[string]string)
- func (r *Request) GetUint(key string, def ...uint) uint
- func (r *Request) GetVar(key string, def ...interface{}) *gvar.Var
- func (r *Request) IsAjaxRequest() bool
- func (r *Request) IsExited() bool
- func (r *Request) IsFileRequest() bool
- func (r *Request) IsFileServe() bool
- func (r *Request) SetPost(key string, value string)
- func (r *Request) SetQuery(key string, value string)
- func (r *Request) SetRouterString(key, value string)
- func (r *Request) WebSocket() (*WebSocket, error)
- type Response
- func (r *Response) Buffer() []byte
- func (r *Response) BufferLength() int
- func (r *Response) ClearBuffer()
- func (r *Response) OutputBuffer()
- func (r *Response) ParseTpl(tpl string, params gview.Params, funcmap ...map[string]interface{}) ([]byte, error)
- func (r *Response) ParseTplContent(content string, params gview.Params, funcmap ...map[string]interface{}) ([]byte, error)
- func (r *Response) RedirectBack()
- func (r *Response) RedirectTo(location string)
- func (r *Response) ServeFile(path string)
- func (r *Response) SetAllowCrossDomainRequest(allowOrigin string, allowMethods string, maxAge ...int)
- func (r *Response) SetBuffer(data []byte)
- func (r *Response) Write(content ...interface{})
- func (r *Response) WriteJson(content interface{}) error
- func (r *Response) WriteJsonP(content interface{}) error
- func (r *Response) WriteStatus(status int, content ...string)
- func (r *Response) WriteTpl(tpl string, params map[string]interface{}, funcmap ...map[string]interface{}) error
- func (r *Response) WriteTplContent(content string, params map[string]interface{}, ...) error
- func (r *Response) WriteXml(content interface{}, rootTag ...string) error
- func (r *Response) Writef(format string, params ...interface{})
- func (r *Response) Writefln(format string, params ...interface{})
- func (r *Response) Writeln(content ...interface{})
- type ResponseWriter
- type Router
- type Server
- func (s *Server) AddSearchPath(path string) error
- func (s *Server) BindController(pattern string, c Controller, methods ...string) error
- func (s *Server) BindControllerMethod(pattern string, c Controller, method string) error
- func (s *Server) BindControllerRest(pattern string, c Controller) error
- func (s *Server) BindHandler(pattern string, handler HandlerFunc) error
- func (s *Server) BindHookHandler(pattern string, hook string, handler HandlerFunc) error
- func (s *Server) BindHookHandlerByMap(pattern string, hookmap map[string]HandlerFunc) error
- func (s *Server) BindObject(pattern string, obj interface{}, methods ...string) error
- func (s *Server) BindObjectMethod(pattern string, obj interface{}, method string) error
- func (s *Server) BindObjectRest(pattern string, obj interface{}) error
- func (s *Server) BindStatusHandler(status int, handler HandlerFunc)
- func (s *Server) BindStatusHandlerByMap(handlerMap map[int]HandlerFunc)
- func (s *Server) Domain(domains string) *Domain
- func (s *Server) DumpRoutesMap()
- func (s *Server) EnableAdmin(pattern ...string)
- func (s *Server) EnableHTTPS(certFile, keyFile string)
- func (s *Server) EnablePprof(pattern ...string)
- func (s *Server) GetCookieDomain() string
- func (s *Server) GetCookieMaxAge() int
- func (s *Server) GetCookiePath() string
- func (s *Server) GetLogHandler() LogHandler
- func (s *Server) GetLogPath() string
- func (s *Server) GetName() string
- func (s *Server) GetRouteMap() string
- func (s *Server) GetSessionIdName() string
- func (s *Server) GetSessionMaxAge() int
- func (s *Server) IsAccessLogEnabled() bool
- func (s *Server) IsErrorLogEnabled() bool
- func (s *Server) Restart(newExeFilePath ...string) error
- func (s *Server) Run() error
- func (s *Server) SetAccessLogEnabled(enabled bool)
- func (s *Server) SetAddr(addr string)
- func (s *Server) SetAllowIps(ips []string)
- func (s *Server) SetConfig(c ServerConfig)
- func (s *Server) SetCookieDomain(domain string)
- func (s *Server) SetCookieMaxAge(age int)
- func (s *Server) SetCookiePath(path string)
- func (s *Server) SetDenyIps(ips []string)
- func (s *Server) SetDenyRoutes(routes []string)
- func (s *Server) SetDumpRouteMap(enabled bool)
- func (s *Server) SetErrorLogEnabled(enabled bool)
- func (s *Server) SetGzipContentTypes(types []string)
- func (s *Server) SetHTTPSAddr(addr string)
- func (s *Server) SetHTTPSPort(port ...int)
- func (s *Server) SetIdleTimeout(t time.Duration)
- func (s *Server) SetIndexFiles(index []string)
- func (s *Server) SetIndexFolder(index bool)
- func (s *Server) SetLogHandler(handler LogHandler)
- func (s *Server) SetLogPath(path string)
- func (s *Server) SetMaxHeaderBytes(b int)
- func (s *Server) SetNameToUriType(t int)
- func (s *Server) SetPort(port ...int)
- func (s *Server) SetReadTimeout(t time.Duration)
- func (s *Server) SetServerAgent(agent string)
- func (s *Server) SetServerRoot(root string)
- func (s *Server) SetSessionIdName(name string)
- func (s *Server) SetSessionMaxAge(age int)
- func (s *Server) SetWriteTimeout(t time.Duration)
- func (s *Server) Shutdown() error
- func (s *Server) Start() error
- func (s *Server) Status() int
- type ServerConfig
- type Session
- func (s *Session) BatchSet(m map[string]interface{})
- func (s *Session) Clear()
- func (s *Session) Contains(key string) bool
- func (s *Session) Data() map[string]interface{}
- func (s *Session) Get(key string) interface{}
- func (s *Session) GetBool(key string) bool
- func (s *Session) GetBytes(key string) []byte
- func (s *Session) GetFloat32(key string) float32
- func (s *Session) GetFloat64(key string) float64
- func (s *Session) GetFloats(key string) []float64
- func (s *Session) GetInt(key string) int
- func (s *Session) GetInt16(key string) int16
- func (s *Session) GetInt32(key string) int32
- func (s *Session) GetInt64(key string) int64
- func (s *Session) GetInt8(key string) int8
- func (s *Session) GetInterfaces(key string) []interface{}
- func (s *Session) GetInts(key string) []int
- func (s *Session) GetString(key string) string
- func (s *Session) GetStrings(key string) []string
- func (s *Session) GetStruct(key string, objPointer interface{}, attrMapping ...map[string]string) error
- func (s *Session) GetTime(key string, format ...string) time.Time
- func (s *Session) GetTimeDuration(key string) time.Duration
- func (s *Session) GetUint(key string) uint
- func (s *Session) GetUint16(key string) uint16
- func (s *Session) GetUint32(key string) uint32
- func (s *Session) GetUint64(key string) uint64
- func (s *Session) GetUint8(key string) uint8
- func (s *Session) Id() string
- func (s *Session) Remove(key string)
- func (s *Session) Set(key string, value interface{})
- func (s *Session) Sets(m map[string]interface{})
- func (s *Session) UpdateExpire()
- type WebSocket
Constants ¶
const ( SERVER_STATUS_STOPPED = 0 // Server状态:停止 SERVER_STATUS_RUNNING = 1 // Server状态:运行 HOOK_BEFORE_SERVE = "BeforeServe" HOOK_AFTER_SERVE = "AfterServe" HOOK_BEFORE_OUTPUT = "BeforeOutput" HOOK_AFTER_OUTPUT = "AfterOutput" HOOK_BEFORE_CLOSE = "BeforeClose" HOOK_AFTER_CLOSE = "AfterClose" )
const ( NAME_TO_URI_TYPE_DEFAULT = 0 // 服务注册时对象和方法名称转换为URI时,全部转为小写,单词以'-'连接符号连接 NAME_TO_URI_TYPE_FULLNAME = 1 // 不处理名称,以原有名称构建成URI NAME_TO_URI_TYPE_ALLLOWER = 2 // 仅转为小写,单词间不使用连接符号 NAME_TO_URI_TYPE_CAMEL = 3 // 采用驼峰命名方式 )
const ( // TextMessage denotes a text data message. The text message payload is // interpreted as UTF-8 encoded text data. WS_MSG_TEXT = websocket.TextMessage // BinaryMessage denotes a binary data message. WS_MSG_BINARY = websocket.BinaryMessage // CloseMessage denotes a close control message. The optional message // payload contains a numeric code and text. Use the FormatCloseMessage // function to format a close message payload. WS_MSG_CLOSE = websocket.CloseMessage // PingMessage denotes a ping control message. The optional message payload // is UTF-8 encoded text. WS_MSG_PING = websocket.PingMessage // PongMessage denotes a pong control message. The optional message payload // is UTF-8 encoded text. WS_MSG_PONG = websocket.PongMessage )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Client ¶
http客户端
func (*Client) DoRequest ¶
func (c *Client) DoRequest(method, url string, data []byte) (*ClientResponse, error)
请求并返回response对象,该方法支持二进制提交数据
type ClientResponse ¶
客户端请求结果对象
func Connect ¶
func Connect(url, data string) (*ClientResponse, error)
func Delete ¶
func Delete(url, data string) (*ClientResponse, error)
func DoRequest ¶
func DoRequest(method, url string, data []byte) (*ClientResponse, error)
该方法支持二进制提交数据
func Get ¶
func Get(url string) (*ClientResponse, error)
func Head ¶
func Head(url, data string) (*ClientResponse, error)
func Options ¶
func Options(url, data string) (*ClientResponse, error)
func Patch ¶
func Patch(url, data string) (*ClientResponse, error)
func Post ¶
func Post(url, data string) (*ClientResponse, error)
func Put ¶
func Put(url, data string) (*ClientResponse, error)
func Trace ¶
func Trace(url, data string) (*ClientResponse, error)
type Cookie ¶
type Cookie struct {
// contains filtered or unexported fields
}
COOKIE对象
type Domain ¶
type Domain struct {
// contains filtered or unexported fields
}
域名管理器对象
func (*Domain) BindController ¶
func (d *Domain) BindController(pattern string, c Controller, methods ...string) error
控制器注册
func (*Domain) BindControllerMethod ¶
func (d *Domain) BindControllerMethod(pattern string, c Controller, method string) error
控制器方法注册,methods参数区分大小写
func (*Domain) BindControllerRest ¶
func (d *Domain) BindControllerRest(pattern string, c Controller) error
RESTful控制器注册
func (*Domain) BindHandler ¶
func (d *Domain) BindHandler(pattern string, handler HandlerFunc) error
注意该方法是直接绑定方法的内存地址,执行的时候直接执行该方法,不会存在初始化新的控制器逻辑
func (*Domain) BindHookHandler ¶
func (d *Domain) BindHookHandler(pattern string, hook string, handler HandlerFunc) error
绑定指定的hook回调函数, hook参数的值由ghttp server设定,参数不区分大小写 目前hook支持:Init/Shut
func (*Domain) BindHookHandlerByMap ¶
func (d *Domain) BindHookHandlerByMap(pattern string, hookmap map[string]HandlerFunc) error
通过map批量绑定回调函数
func (*Domain) BindObject ¶
执行对象方法
func (*Domain) BindObjectMethod ¶
执行对象方法注册,methods参数不区分大小写
func (*Domain) BindObjectRest ¶
RESTful执行对象注册
func (*Domain) BindStatusHandler ¶
func (d *Domain) BindStatusHandler(status int, handler HandlerFunc)
绑定指定的状态码回调函数
func (*Domain) BindStatusHandlerByMap ¶
func (d *Domain) BindStatusHandlerByMap(handlerMap map[int]HandlerFunc)
通过map批量绑定状态码回调函数
type Request ¶
type Request struct { http.Request Id int // 请求id(唯一) Server *Server // 请求关联的服务器对象 Cookie *Cookie // 与当前请求绑定的Cookie对象(并发安全) Session *Session // 与当前请求绑定的Session对象(并发安全) Response *Response // 对应请求的返回数据操作对象 Router *Router // 匹配到的路由对象 EnterTime int64 // 请求进入时间(微秒) LeaveTime int64 // 请求完成时间(微秒) Param interface{} // 开发者自定义参数 // contains filtered or unexported fields }
请求对象
func (*Request) AddRouterString ¶
func (*Request) GetInterfaces ¶
func (*Request) GetPostFloat32 ¶
func (*Request) GetPostFloat64 ¶
func (*Request) GetPostFloats ¶
func (*Request) GetPostInterfaces ¶
func (*Request) GetPostMap ¶
获取指定键名的关联数组,并且给定当指定键名不存在时的默认值 需要注意的是,如果其中一个字段为数组形式,那么只会返回第一个元素,如果需要获取全部的元素,请使用GetPostArray获取特定字段内容
func (*Request) GetPostStrings ¶
func (*Request) GetPostToStruct ¶
将所有的request参数映射到struct属性上,参数object应当为一个struct对象的指针, mapping为非必需参数,自定义参数与属性的映射关系
func (*Request) GetQueryArray ¶
func (*Request) GetQueryFloat32 ¶
func (*Request) GetQueryFloat64 ¶
func (*Request) GetQueryFloats ¶
func (*Request) GetQueryInterfaces ¶
func (*Request) GetQueryMap ¶
获取指定键名的关联数组,并且给定当指定键名不存在时的默认值
func (*Request) GetQueryStrings ¶
func (*Request) GetQueryToStruct ¶
将所有的get参数映射到struct属性上,参数object应当为一个struct对象的指针, mapping为非必需参数,自定义参数与属性的映射关系
func (*Request) GetRequest ¶
获得router、post或者get提交的参数,如果有同名参数,那么按照router->get->post优先级进行覆盖
func (*Request) GetRequestArray ¶
func (*Request) GetRequestFloat32 ¶
func (*Request) GetRequestFloat64 ¶
func (*Request) GetRequestFloats ¶
func (*Request) GetRequestInterfaces ¶
func (*Request) GetRequestMap ¶
获取指定键名的关联数组,并且给定当指定键名不存在时的默认值 需要注意的是,如果其中一个字段为数组形式,那么只会返回第一个元素,如果需要获取全部的元素,请使用GetRequestArray获取特定字段内容
func (*Request) GetRequestString ¶
func (*Request) GetRequestStrings ¶
func (*Request) GetRequestToStruct ¶
将所有的request参数映射到struct属性上,参数object应当为一个struct对象的指针, mapping为非必需参数,自定义参数与属性的映射关系
func (*Request) GetRequestVar ¶
func (*Request) GetToStruct ¶
将所有的request参数映射到struct属性上,参数object应当为一个struct对象的指针, mapping为非必需参数,自定义参数与属性的映射关系
func (*Request) SetRouterString ¶
type Response ¶
type Response struct { ResponseWriter Server *Server // 所属Web Server Writer *ResponseWriter // ResponseWriter的别名 // contains filtered or unexported fields }
服务端请求返回对象。 注意该对象并没有实现http.ResponseWriter接口,而是依靠ghttp.ResponseWriter实现。
func (*Response) ParseTpl ¶
func (r *Response) ParseTpl(tpl string, params gview.Params, funcmap ...map[string]interface{}) ([]byte, error)
解析模板文件,并返回模板内容
func (*Response) ParseTplContent ¶
func (r *Response) ParseTplContent(content string, params gview.Params, funcmap ...map[string]interface{}) ([]byte, error)
解析并返回模板内容
func (*Response) SetAllowCrossDomainRequest ¶
func (r *Response) SetAllowCrossDomainRequest(allowOrigin string, allowMethods string, maxAge ...int)
允许AJAX跨域访问
func (*Response) WriteStatus ¶
返回HTTP Code状态码
func (*Response) WriteTpl ¶
func (r *Response) WriteTpl(tpl string, params map[string]interface{}, funcmap ...map[string]interface{}) error
展示模板,可以给定模板参数,及临时的自定义模板函数
func (*Response) WriteTplContent ¶
func (r *Response) WriteTplContent(content string, params map[string]interface{}, funcmap ...map[string]interface{}) error
展示模板内容,可以给定模板参数,及临时的自定义模板函数
type ResponseWriter ¶
type ResponseWriter struct { http.ResponseWriter Status int // http status // contains filtered or unexported fields }
自定义的ResponseWriter,用于写入流的控制
func (*ResponseWriter) Write ¶
func (w *ResponseWriter) Write(data []byte) (int, error)
覆盖父级的WriteHeader方法
func (*ResponseWriter) WriteHeader ¶
func (w *ResponseWriter) WriteHeader(code int)
覆盖父级的WriteHeader方法
type Router ¶
type Router struct { Uri string // 注册时的pattern - uri Method string // 注册时的pattern - method Domain string // 注册时的pattern - domain RegRule string // 路由规则解析后对应的正则表达式 RegNames []string // 路由规则解析后对应的变量名称数组 Priority int // 优先级,用于链表排序,值越大优先级越高 }
路由对象
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
ghttp.Server结构体
func GetServer ¶
func GetServer(name ...interface{}) *Server
获取/创建一个默认配置的HTTP Server(默认监听端口是80) 单例模式,请保证name的唯一性
func (*Server) AddSearchPath ¶
添加静态文件搜索目录,必须给定目录的绝对路径
func (*Server) BindController ¶
func (s *Server) BindController(pattern string, c Controller, methods ...string) error
绑定控制器,控制器需要实现gmvc.Controller接口 这种方式绑定的控制器每一次请求都会初始化一个新的控制器对象进行处理,对应不同的请求会话 第三个参数methods用以指定需要注册的方法,支持多个方法名称,多个方法以英文“,”号分隔,区分大小写
func (*Server) BindControllerMethod ¶
func (s *Server) BindControllerMethod(pattern string, c Controller, method string) error
绑定路由到指定的方法执行
func (*Server) BindControllerRest ¶
func (s *Server) BindControllerRest(pattern string, c Controller) error
绑定控制器(RESTFul),控制器需要实现gmvc.Controller接口 方法会识别HTTP方法,并做REST绑定处理,例如:Post方法会绑定到HTTP POST的方法请求处理,Delete方法会绑定到HTTP DELETE的方法请求处理 因此只会绑定HTTP Method对应的方法,其他方法不会自动注册绑定 这种方式绑定的控制器每一次请求都会初始化一个新的控制器对象进行处理,对应不同的请求会话
func (*Server) BindHandler ¶
func (s *Server) BindHandler(pattern string, handler HandlerFunc) error
注意该方法是直接绑定函数的内存地址,执行的时候直接执行该方法,不会存在初始化新的控制器逻辑
func (*Server) BindHookHandler ¶
func (s *Server) BindHookHandler(pattern string, hook string, handler HandlerFunc) error
绑定指定的hook回调函数, pattern参数同BindHandler,支持命名路由;hook参数的值由ghttp server设定,参数不区分大小写
func (*Server) BindHookHandlerByMap ¶
func (s *Server) BindHookHandlerByMap(pattern string, hookmap map[string]HandlerFunc) error
通过map批量绑定回调函数
func (*Server) BindObject ¶
绑定对象到URI请求处理中,会自动识别方法名称,并附加到对应的URI地址后面 第三个参数methods用以指定需要注册的方法,支持多个方法名称,多个方法以英文“,”号分隔,区分大小写
func (*Server) BindObjectMethod ¶
绑定对象到URI请求处理中,会自动识别方法名称,并附加到对应的URI地址后面 第三个参数methods支持多个方法注册,多个方法以英文“,”号分隔,区分大小写
func (*Server) BindObjectRest ¶
绑定对象到URI请求处理中,会自动识别方法名称,并附加到对应的URI地址后面 需要注意对象方法的定义必须按照ghttp.HandlerFunc来定义
func (*Server) BindStatusHandler ¶
func (s *Server) BindStatusHandler(status int, handler HandlerFunc)
绑定指定的状态码回调函数
func (*Server) BindStatusHandlerByMap ¶
func (s *Server) BindStatusHandlerByMap(handlerMap map[int]HandlerFunc)
通过map批量绑定状态码回调函数
func (*Server) EnableHTTPS ¶
开启HTTPS支持,但是必须提供Cert和Key文件
func (*Server) GetCookieDomain ¶
获取http server参数 - CookieDomain
func (*Server) GetCookieMaxAge ¶
获取http server参数 - CookieMaxAge
func (*Server) GetSessionIdName ¶
获取http server参数 - SessionIdName
func (*Server) GetSessionMaxAge ¶
获取http server参数 - SessionMaxAge
func (*Server) Restart ¶
重启Web Server,参数支持自定义重启的可执行文件路径,不传递时默认和原有可执行文件路径一致。 针对*niux系统: 平滑重启 针对windows : 完整重启
func (*Server) SetAccessLogEnabled ¶
设置是否开启access log日志功能
func (*Server) SetAllowIps ¶
func (*Server) SetConfig ¶
func (s *Server) SetConfig(c ServerConfig)
http server setting设置 注意使用该方法进行http server配置时,需要配置所有的配置项,否则没有配置的属性将会默认变量为空
func (*Server) SetCookieDomain ¶
设置http server参数 - CookieDomain
func (*Server) SetCookieMaxAge ¶
设置http server参数 - CookieMaxAge
func (*Server) SetCookiePath ¶
设置http server参数 - CookiePath
func (*Server) SetDenyIps ¶
func (*Server) SetDenyRoutes ¶
func (*Server) SetErrorLogEnabled ¶
设置是否开启error log日志功能
func (*Server) SetGzipContentTypes ¶
func (*Server) SetHTTPSAddr ¶
设置http server参数 - HTTPS Addr
func (*Server) SetHTTPSPort ¶
设置http server参数 - HTTPS Port
func (*Server) SetIdleTimeout ¶
设置http server参数 - IdleTimeout
func (*Server) SetIndexFiles ¶
设置http server参数 - IndexFiles,默认展示文件,如:index.html, index.htm
func (*Server) SetMaxHeaderBytes ¶
设置http server参数 - MaxHeaderBytes
func (*Server) SetReadTimeout ¶
设置http server参数 - ReadTimeout
func (*Server) SetServerAgent ¶
设置http server参数 - ServerAgent
func (*Server) SetServerRoot ¶
设置http server参数 - ServerRoot
func (*Server) SetSessionIdName ¶
设置http server参数 - SessionIdName
func (*Server) SetSessionMaxAge ¶
设置http server参数 - SessionMaxAge
func (*Server) SetWriteTimeout ¶
设置http server参数 - WriteTimeout
type ServerConfig ¶
type ServerConfig struct { // 底层http对象配置 Addr string // 监听IP和端口,监听本地所有IP使用":端口"(支持多个地址,使用","号分隔) HTTPSAddr string // HTTPS服务监听地址(支持多个地址,使用","号分隔) HTTPSCertPath string // HTTPS证书文件路径 HTTPSKeyPath string // HTTPS签名文件路径 Handler http.Handler // 默认的处理函数 ReadTimeout time.Duration // 读取超时 WriteTimeout time.Duration // 写入超时 IdleTimeout time.Duration // 等待超时 MaxHeaderBytes int // 最大的header长度 // 静态文件配置 IndexFiles []string // 默认访问的文件列表 IndexFolder bool // 如果访问目录是否显示目录列表 ServerAgent string // server agent ServerRoot string // 服务器服务的本地目录根路径 // COOKIE CookieMaxAge int // Cookie有效期 CookiePath string // Cookie有效Path(注意同时也会影响SessionID) CookieDomain string // Cookie有效Domain(注意同时也会影响SessionID) // SESSION SessionMaxAge int // Session有效期 SessionIdName string // SessionId名称 // ip访问控制 DenyIps []string // 不允许访问的ip列表,支持ip前缀过滤,如: 10 将不允许10开头的ip访问 AllowIps []string // 仅允许访问的ip列表,支持ip前缀过滤,如: 10 将仅允许10开头的ip访问 // 路由访问控制 DenyRoutes []string // 不允许访问的路由规则列表 // 日志配置 LogPath string // 存放日志的目录路径 LogHandler LogHandler // 自定义日志处理回调方法 ErrorLogEnabled bool // 是否开启error log AccessLogEnabled bool // 是否开启access log // 其他设置 NameToUriType int // 服务注册时对象和方法名称转换为URI时的规则 GzipContentTypes []string // 允许进行gzip压缩的文件类型 DumpRouteMap bool // 是否在程序启动时默认打印路由表信息 }
HTTP Server 设置结构体,静态配置
type Session ¶
type Session struct {
// contains filtered or unexported fields
}
SESSION对象
func (*Session) GetFloat32 ¶
func (*Session) GetFloat64 ¶
func (*Session) GetInterfaces ¶
func (*Session) GetStrings ¶
func (*Session) GetStruct ¶
func (s *Session) GetStruct(key string, objPointer interface{}, attrMapping ...map[string]string) error
将变量转换为对象,注意 objPointer 参数必须为struct指针
func (*Session) UpdateExpire ¶
func (s *Session) UpdateExpire()
更新过期时间(如果用在守护进程中长期使用,需要手动调用进行更新,防止超时被清除)
Source Files ¶
- ghttp.go
- ghttp_client_request.go
- ghttp_client_response.go
- ghttp_controller.go
- ghttp_func.go
- ghttp_request.go
- ghttp_request_auth.go
- ghttp_request_post.go
- ghttp_request_query.go
- ghttp_request_request.go
- ghttp_request_router.go
- ghttp_response.go
- ghttp_response_gzip.go
- ghttp_response_view.go
- ghttp_response_writer.go
- ghttp_server.go
- ghttp_server_admin.go
- ghttp_server_admin_unix.go
- ghttp_server_config.go
- ghttp_server_config_cookie.go
- ghttp_server_config_logger.go
- ghttp_server_config_session.go
- ghttp_server_cookie.go
- ghttp_server_domain.go
- ghttp_server_graceful.go
- ghttp_server_handler.go
- ghttp_server_log.go
- ghttp_server_pprof.go
- ghttp_server_router.go
- ghttp_server_router_hook.go
- ghttp_server_router_serve.go
- ghttp_server_service_controller.go
- ghttp_server_service_handler.go
- ghttp_server_service_object.go
- ghttp_server_session.go
- ghttp_server_status.go
- ghttp_server_websocket.go