httpserver.go 2.22 KB
package logic

import (
	"HttpServer/conf"
	"bytes"
	"common/logger"
	"encoding/json"
	"strconv"

	"io/ioutil"
	//"log"
	"net/http"
)

//定时处理倒计时
func StartHttpTicker() {

}

func StartHttpServe() {
	startServerHttpServe()
}

//just for test
func Testsendhttp() {
	var test UserLoginData
	//test.Uuid = 100
	test.Fromid = 200
	test.Sharetype = 1

	client := &http.Client{}

	bys, err := json.Marshal(&test)
	if err != nil {
		logger.Error("testsendhttp failed=%v", err)
		return
	}
	body := bytes.NewBuffer(bys)
	url := "http://127.0.0.1:50056/cat/login"
	reqest, err := http.NewRequest("POST", url, body)
	if err != nil {
		logger.Error("http.NewRequest failed")
	}
	reqest.Header.Add("Uuid", "101")
	//发送
	//res, err := http.Post(url, "application/json;charset=utf-8", body)
	res, err := client.Do(reqest)
	if err != nil {
		logger.Error(" post failed to %v err:%v data:%v", url, err, string(bys))
		return
	}

	result, _ := ioutil.ReadAll(res.Body)
	res.Body.Close()

	s := string(result)
	var resp GetUserDataResp
	resp.Code = 0
	var rdata UserLoginResp
	_ = json.Unmarshal([]byte(s), &rdata)
	logger.Info("testsendhttp , body:%v", rdata)
}

func CheckErr(err error) {
	if err != nil {
		panic(err)
	}
}

func startServerHttpServe() {
	http.HandleFunc("/cat/login", UserLogin)                                    //登录


	err := http.ListenAndServe(conf.GetServerHttpAddrConf(), nil)
	CheckErr(err)
}



func UserLogin(w http.ResponseWriter, r *http.Request) {
	//logger.Info("%%%%%%%%%%%%%%%%path=%v", *r.URL)
	//for k, v := range r.Header {
	//	logger.Info("*********************key=%v,value=%v", k, v)
	//}

	//w.Header().Add("Access-Control-Allow-Headers", "")
	//w.Header().Set("Access-Control-Allow-Headers", "Authorization, Content-Length, X-CSRF-Token, Token,session,X_Requested_With,Accept, Origin, Host, Connection, Accept-Encoding, Accept-Language,DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, Cache-Control, Content-Type, Pragma")

	Uuid := 0
	if len(r.Header) > 0 {
		Uuid, _ = strconv.Atoi(r.Header.Get("Uuid"))
	}

	if Uuid == 0 {
		return
	}
	result, _ := ioutil.ReadAll(r.Body)
	r.Body.Close()

	s := string(result)
	logger.Info("UserLogin , body:%v,uuid=%v", s, Uuid)

	//HandlerLogin(w, s, Uuid)
}