Commit c4306369 authored by leitao.zhang's avatar leitao.zhang

Merge remote-tracking branch 'origin/dev' into dev

parents 1613d12b 3813f0f5
......@@ -19,7 +19,7 @@ pipeline:
image: registry.cn-qingdao.aliyuncs.com/wod/devops-docker-arm64:1.0
volumes:
- /var/run/docker.sock:/var/run/docker.sock
base: registry.cn-qingdao.aliyuncs.com/wod/alpine-glibc-arm64:3.12
base: registry.cn-qingdao.aliyuncs.com/wod/debian-arm64:buster-slim
repo: wod/apaas-meshproxy-arm64
dockerfile: build/arm.dockerfile
version: "v3.0.0"
......
......@@ -3,6 +3,7 @@ package handler
import (
"bytes"
"compress/gzip"
"crypto/tls"
"encoding/json"
"errors"
"fmt"
......@@ -35,6 +36,7 @@ func Proxy(c *gin.Context) {
proxyData, err := service.GetRealPath(applyId)
if err != nil {
fmt.Println("err......", err.Error())
c.Error(err)
return
}
......@@ -44,11 +46,14 @@ func Proxy(c *gin.Context) {
c.JSON(200, res)
return
}
f, _ := forward.New(forward.PassHostHeader(true), forward.ResponseModifier(func(resp *http.Response) error {
roundTripper := http.DefaultTransport.(*http.Transport)
roundTripper.TLSClientConfig = &tls.Config{InsecureSkipVerify: true}
f, _ := forward.New(forward.PassHostHeader(true), forward.RoundTripper(roundTripper), forward.ResponseModifier(func(resp *http.Response) error {
//Resp = resp
//判断是否超过调用次数是否可以调用
callflag, sensitiveflag, err := service.QueryCallsCount(proxyData)
if err != nil {
fmt.Println("err......", err.Error())
return nil
}
if callflag == false {
......@@ -76,11 +81,11 @@ func Proxy(c *gin.Context) {
res = service.SensitiveFilter(proxyData, res)
}
//计次
bgn := time.Now()
fmt.Println(`开始携程:`, bgn)
//bgn := time.Now()
//fmt.Println(`开始携程:`, bgn)
go service.CallCounts(proxyData)
end := time.Since(bgn)
fmt.Println("结束携程: ", end)
//end := time.Since(bgn)
//fmt.Println("结束携程: ", end)
//err = service.CallCounts(proxyData)
//if err != nil {
// Return(nil, err, resp)
......@@ -94,13 +99,16 @@ func Proxy(c *gin.Context) {
// return nil
//}
Return(res, nil, resp)
appeT := time.Since(appT)
fmt.Println("结束: ", appeT)
//appeT := time.Since(appT)
//fmt.Println("结束: ", appeT)
return nil
}))
c.Request.URL = testutils.ParseURI(getProxyURL(proxyData, c.Request))
fmt.Println("c.Request.URL-------", c.Request.URL)
c.Request.RequestURI = getRequestURI(c.Request)
fmt.Println("c.Request-------", c.Request)
c.Request.Host = getHost(proxyData.RealUrl)
fmt.Println("proxyData.RealUrl-------", proxyData.RealUrl)
f.ServeHTTP(c.Writer, c.Request)
}
......@@ -146,11 +154,13 @@ func Return(res interface{}, err error, Resp *http.Response) {
}
} else {
if Resp.Header.Get("Content-Encoding") == "gzip" {
b = []byte(err.Error())
b = gzipCompress(&b)
}
Resp.Header.Set("Content-Encoding", "utf-8")
b = []byte(err.Error())
}
//if Resp.Header.Get("Content-Encoding") == "gzip" {
//Resp.Header.Set("Content-Encoding","gzip")
//b = gzipCompress(&b)
//}
Resp.Header.Set("X-Log-By", "Apaas")
Resp.Header.Set("Content-Length", strconv.Itoa(len(b)))
Resp.Body = ioutil.NopCloser(bytes.NewBuffer(b))
......
......@@ -45,8 +45,11 @@ func server() error {
//注册环境变量
func initEnv() {
if len(os.Getenv("REDIS_CONNECTION")) > 0 {
*redisUrl = os.Getenv("REDIS_CONNECTION")
if len(os.Getenv("AWE_REDIS_CONNECTION")) > 0 {
*redisUrl = os.Getenv("AWE_REDIS_CONNECTION")
}
if len(os.Getenv("DB_URL")) > 0 {
*dbURL = os.Getenv("DB_URL")
}
if len(os.Getenv("DB_URL")) > 0 {
*dbURL = os.Getenv("DB_URL")
......
......@@ -198,6 +198,8 @@ LOCK TABLE service IN SHARE ROW EXCLUSIVE MODE;
fmt.Println("error******service、service_apply更新失败:" + err.Error())
return
}
session.Commit()
session.Begin()
sql := fmt.Sprintf(`
LOCK TABLE service_daliy_count IN SHARE ROW EXCLUSIVE MODE;
INSERT INTO service_daliy_count ( service_id,date,count) VALUES
......@@ -210,6 +212,8 @@ UPDATE SET count=(service_daliy_count.count+1);
session.Rollback()
return
}
session.Commit()
session.Begin()
sql3 := fmt.Sprintf(`
LOCK TABLE service_count_person IN SHARE ROW EXCLUSIVE MODE;
INSERT INTO service_count_person ( user_id,date,count) VALUES
......@@ -223,6 +227,7 @@ UPDATE SET count=(service_count_person.count+1);
return
}
session.Commit()
fmt.Println("CallCounts执行完成@@@!!!!!")
//查询service_daliy_count 表有更新没有插入
return
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment