mirror of
https://gitee.com/johng/gf
synced 2026-06-07 02:12:11 +08:00
改进Service Response命名
This commit is contained in:
@ -14,12 +14,12 @@ import (
|
||||
|
||||
// 控制器基类
|
||||
type Controller struct {
|
||||
Server *ghttp.Server // Web Server对象
|
||||
Request *ghttp.Request // 请求数据对象
|
||||
Response *ghttp.ServerResponse // 返回数据对象
|
||||
Cookie *ghttp.Cookie // COOKIE操作对象
|
||||
Session *ghttp.Session // SESSION操作对象
|
||||
View *View // 视图对象
|
||||
Request *ghttp.Request // 请求数据对象
|
||||
Response *ghttp.Response // 返回数据对象(r.Response)
|
||||
Server *ghttp.Server // Web Server对象(r.Server)
|
||||
Cookie *ghttp.Cookie // COOKIE操作对象
|
||||
Session *ghttp.Session // SESSION操作对象
|
||||
View *View // 视图对象
|
||||
}
|
||||
|
||||
// 控制器初始化接口方法
|
||||
|
||||
@ -20,11 +20,11 @@ type View struct {
|
||||
mu sync.RWMutex // 并发互斥锁
|
||||
view *gview.View // 底层视图对象
|
||||
data map[string]interface{} // 视图数据
|
||||
response *ghttp.ServerResponse // 数据返回对象
|
||||
response *ghttp.Response // 数据返回对象
|
||||
}
|
||||
|
||||
// 创建一个MVC请求中使用的视图对象
|
||||
func NewView(w *ghttp.ServerResponse) *View {
|
||||
func NewView(w *ghttp.Response) *View {
|
||||
return &View{
|
||||
view : gins.View(),
|
||||
data : make(map[string]interface{}),
|
||||
|
||||
@ -19,11 +19,6 @@ type Client struct {
|
||||
http.Client
|
||||
}
|
||||
|
||||
// 客户端请求结果对象
|
||||
type ClientResponse struct {
|
||||
http.Response
|
||||
}
|
||||
|
||||
// http客户端对象指针
|
||||
func NewClient() (*Client) {
|
||||
return &Client{}
|
||||
@ -8,8 +8,14 @@ package ghttp
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// 客户端请求结果对象
|
||||
type ClientResponse struct {
|
||||
http.Response
|
||||
}
|
||||
|
||||
// 获取返回的数据
|
||||
func (r *ClientResponse) ReadAll() []byte {
|
||||
body, err := ioutil.ReadAll(r.Body)
|
||||
|
||||
@ -7,7 +7,6 @@
|
||||
|
||||
package ghttp
|
||||
|
||||
|
||||
// 控制器接口
|
||||
type Controller interface {
|
||||
Init(*Request)
|
||||
|
||||
@ -22,7 +22,7 @@ type Request struct {
|
||||
Server *Server // 请求关联的服务器对象
|
||||
Cookie *Cookie // 与当前请求绑定的Cookie对象(并发安全)
|
||||
Session *Session // 与当前请求绑定的Session对象(并发安全)
|
||||
Response *ServerResponse // 对应请求的返回数据操作对象
|
||||
Response *Response // 对应请求的返回数据操作对象
|
||||
}
|
||||
|
||||
// 获得指定名称的get参数列表
|
||||
|
||||
@ -14,7 +14,7 @@ import (
|
||||
)
|
||||
|
||||
// 服务端请求返回对象
|
||||
type ServerResponse struct {
|
||||
type Response struct {
|
||||
http.ResponseWriter
|
||||
bufmu sync.RWMutex // 缓冲区互斥锁
|
||||
buffer []byte // 每个请求的返回数据缓冲区
|
||||
@ -28,21 +28,21 @@ type ResponseJson struct {
|
||||
}
|
||||
|
||||
// 返回信息(byte)
|
||||
func (r *ServerResponse) Write(content []byte) {
|
||||
func (r *Response) Write(content []byte) {
|
||||
r.bufmu.Lock()
|
||||
defer r.bufmu.Unlock()
|
||||
r.buffer = append(r.buffer, content...)
|
||||
}
|
||||
|
||||
// 返回信息(string)
|
||||
func (r *ServerResponse) WriteString(content string) {
|
||||
func (r *Response) WriteString(content string) {
|
||||
r.bufmu.Lock()
|
||||
defer r.bufmu.Unlock()
|
||||
r.buffer = append(r.buffer, content...)
|
||||
}
|
||||
|
||||
// 返回固定格式的json
|
||||
func (r *ServerResponse) WriteJson(result int, message string, data []byte) error {
|
||||
func (r *Response) WriteJson(result int, message string, data []byte) error {
|
||||
r.Header().Set("Content-Type", "application/json")
|
||||
r.bufmu.Lock()
|
||||
defer r.bufmu.Unlock()
|
||||
@ -55,26 +55,26 @@ func (r *ServerResponse) WriteJson(result int, message string, data []byte) erro
|
||||
}
|
||||
|
||||
// 返回内容编码
|
||||
func (r *ServerResponse) WriteHeaderEncoding(encoding string) {
|
||||
func (r *Response) WriteHeaderEncoding(encoding string) {
|
||||
r.Header().Set("Content-Type", "text/plain; charset=" + encoding)
|
||||
}
|
||||
|
||||
// 获取当前缓冲区中的数据
|
||||
func (r *ServerResponse) Buffer() []byte {
|
||||
func (r *Response) Buffer() []byte {
|
||||
r.bufmu.RLock()
|
||||
defer r.bufmu.RUnlock()
|
||||
return r.buffer
|
||||
}
|
||||
|
||||
// 清空缓冲区内容
|
||||
func (r *ServerResponse) ClearBuffer() {
|
||||
func (r *Response) ClearBuffer() {
|
||||
r.bufmu.Lock()
|
||||
defer r.bufmu.Unlock()
|
||||
r.buffer = make([]byte, 0)
|
||||
}
|
||||
|
||||
// 输出缓冲区数据到客户端
|
||||
func (r *ServerResponse) OutputBuffer() {
|
||||
func (r *Response) OutputBuffer() {
|
||||
r.bufmu.Lock()
|
||||
defer r.bufmu.Unlock()
|
||||
if len(r.buffer) > 0 {
|
||||
@ -29,8 +29,8 @@ type Cookie struct {
|
||||
mu sync.RWMutex // 并发安全互斥锁
|
||||
data map[string]CookieItem // 数据项
|
||||
domain string // 默认的cookie域名
|
||||
request *Request // 所属HTTP请求对象
|
||||
response *ServerResponse // 所属HTTP返回对象
|
||||
request *Request // 所属HTTP请求对象
|
||||
response *Response // 所属HTTP返回对象
|
||||
}
|
||||
|
||||
// cookie项
|
||||
|
||||
@ -39,8 +39,9 @@ func (s *Server)handleRequest(w http.ResponseWriter, r *http.Request) {
|
||||
// 构造请求参数对象
|
||||
request := &Request{
|
||||
Id : s.idgen.Int(),
|
||||
Server : s,
|
||||
Request : *r,
|
||||
Response : &ServerResponse {
|
||||
Response : &Response {
|
||||
ResponseWriter : w,
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user