修改http返回

This commit is contained in:
duanhf2012
2020-04-11 10:03:03 +08:00
parent c7c1558cc3
commit ff8ec204f6
2 changed files with 21 additions and 8 deletions

View File

@@ -9,6 +9,8 @@ import (
"github.com/duanhf2012/origin/node" "github.com/duanhf2012/origin/node"
"github.com/duanhf2012/origin/service" "github.com/duanhf2012/origin/service"
"github.com/duanhf2012/origin/sysservice" "github.com/duanhf2012/origin/sysservice"
"github.com/duanhf2012/origin/util/timer"
"net/http"
) )
type GateService struct { type GateService struct {
@@ -29,9 +31,17 @@ func (slf *GateService) OnInit() error{
slf.httpRouter.GET("/get/query", slf.HttpTest) slf.httpRouter.GET("/get/query", slf.HttpTest)
slf.httpRouter.POST("/post/query", slf.HttpTestPost) slf.httpRouter.POST("/post/query", slf.HttpTestPost)
slf.httpRouter.SetServeFile(sysservice.METHOD_GET,"/img/head/","d:/img") slf.httpRouter.SetServeFile(sysservice.METHOD_GET,"/img/head/","d:/img")
pCronExpr,_ := timer.NewCronExpr("0 * * * * *")
slf.CronFunc(pCronExpr,slf.Test)
return nil return nil
} }
func (slf *GateService) Test(){
fmt.Print("xxxxx\n")
}
func (slf *GateService) HttpTest(session *sysservice.HttpSession) { func (slf *GateService) HttpTest(session *sysservice.HttpSession) {
session.SetHeader("a","b") session.SetHeader("a","b")
session.Write([]byte("this is a test")) session.Write([]byte("this is a test"))
@@ -57,10 +67,11 @@ func (slf *GateService) HttpTestPost(session *sysservice.HttpSession) {
testa.AA = 100 testa.AA = 100
testa.BB = "this is a test" testa.BB = "this is a test"
session.WriteJson("asdasda") session.WriteJsonDone(http.StatusOK,"asdasda")
} }
func (slf *GateService) OnEventHandler(ev *event.Event) error{ func (slf *GateService) OnEventHandler(ev *event.Event) error{
if ev.Type == event.Sys_Event_Tcp_RecvPack { if ev.Type == event.Sys_Event_Tcp_RecvPack {
pPack := ev.Data.(*sysservice.TcpPack) pPack := ev.Data.(*sysservice.TcpPack)
slf.processor.Route(ev.Data,pPack.ClientId) slf.processor.Route(ev.Data,pPack.ClientId)

View File

@@ -167,7 +167,6 @@ func (slf *HttpSession) DelHeader(key string) {
slf.r.Header.Del(key) slf.r.Header.Del(key)
} }
func (slf *HttpSession) WriteStatusCode(statusCode int){ func (slf *HttpSession) WriteStatusCode(statusCode int){
slf.statusCode = statusCode slf.statusCode = statusCode
} }
@@ -176,15 +175,18 @@ func (slf *HttpSession) Write(msg []byte) {
slf.msg = msg slf.msg = msg
} }
func (slf *HttpSession) WriteJson(msgJson interface{}) error { func (slf *HttpSession) WriteJsonDone(statusCode int,msgJson interface{}) error {
msg, err := json.Marshal(msgJson) msg, err := json.Marshal(msgJson)
if err == nil { if err == nil {
slf.Write(msg) slf.Write(msg)
} }
slf.Done()
return err return err
} }
func (slf *HttpSession) flush() { func (slf *HttpSession) flush() {
slf.w.WriteHeader(slf.statusCode) slf.w.WriteHeader(slf.statusCode)
if slf.msg!=nil { if slf.msg!=nil {
@@ -192,7 +194,7 @@ func (slf *HttpSession) flush() {
} }
} }
func (slf *HttpSession) done(){ func (slf *HttpSession) Done(){
slf.sessionDone <- slf slf.sessionDone <- slf
} }
@@ -259,7 +261,7 @@ func (slf *HttpRouter) Router(session *HttpSession){
if slf.httpFiltrateList!=nil { if slf.httpFiltrateList!=nil {
for _,fun := range slf.httpFiltrateList{ for _,fun := range slf.httpFiltrateList{
if fun(session) == false { if fun(session) == false {
session.done() //session.done()
return return
} }
} }
@@ -278,7 +280,7 @@ func (slf *HttpRouter) Router(session *HttpSession){
} }
v.httpHandle(session) v.httpHandle(session)
session.done() //session.done()
return return
} }
@@ -286,13 +288,13 @@ func (slf *HttpRouter) Router(session *HttpSession){
idx := strings.Index(urlPath, k) idx := strings.Index(urlPath, k)
if idx != -1 { if idx != -1 {
session.fileData = v session.fileData = v
session.done() session.Done()
return return
} }
} }
session.WriteStatusCode(http.StatusNotFound) session.WriteStatusCode(http.StatusNotFound)
session.done() session.Done()
} }
func (slf *HttpService) SetHttpRouter(httpRouter IHttpRouter) { func (slf *HttpService) SetHttpRouter(httpRouter IHttpRouter) {