XinYeYouKu/app/third/dfpOpenSdk/common/http_post_request.go

151 lines
3.7 KiB
Go
Raw Permalink Normal View History

2024-07-08 18:01:02 +08:00
package common
//
//import (
// "bytes"
// "crypto/tls"
// "crypto/x509"
// "dfp-open-sdk-go/config"
// "dfp-open-sdk-go/service"
// "dfp-open-sdk-go/util"
// "encoding/json"
// "io/ioutil"
// "net/http"
// "strings"
// "unsafe"
//)
//
//type HttpsPostRequest struct {
//}
//
//func (request *HttpsPostRequest) Send(url string, method string, authInfo string, headParams map[string]string, bodyParamString string, bodyString string) {
// newRequest, err := http.NewRequest("POST", url, nil)
// if err != nil {
// panic(err)
// }
// var tr *http.Transport
// // 如果是开发环境并且是https是开头
// if strings.HasPrefix(url, "https") {
// tr = &http.Transport{TLSClientConfig: &tls.Config{InsecureSkipVerify: true}}
// }
//
// file, err := ioutil.ReadFile("./ca.cert")
// pool := x509.NewCertPool()
// pool.AppendCertsFromPEM(file)
//
// cliCert, _ := tls.LoadX509KeyPair("./client.crt", "./client.key")
//
// config := &tls.Config{
// Certificates: []tls.Certificate{cliCert}, // 客户端证书, 双向认证必须携带
// RootCAs: pool, // 校验服务端证书 [CA证书]
// InsecureSkipVerify: false, // 不用校验服务器证书
// }
//
// config.BuildNameToCertificate()
// client := http.Client{Transport: tr}
//
// // 设置请求头
// newRequest.Header.Set("Authorization", authInfo)
// // 设置cfca
// newRequest.Header.Set("X-Cfca-Basic", "")
//
// if headParams != nil {
// for k, v := range headParams {
// newRequest.Header.Set(k, v)
// }
// }
//
// // 灰度发布配置
// if json.Valid([]byte(bodyString)) {
// bodyParamString = bodyString
// newRequest.Header.Set("Content-Type", "application/json; charset=UTF-8")
// }
//
// switch method {
// case http.MethodPost:
// http.Post("1", "application/atom+xml", nil)
// resp, err := client.Do(newRequest)
// if err != nil {
// panic(err)
// }
// contentType := resp.Header.Get("Content-Type")
// if contentType == "application/octet-stream" {
//
// } else {
// str := (*string)(unsafe.Pointer(&respBytes))
// }
// if resp.StatusCode >= http.StatusOK && resp.StatusCode < http.StatusMultipleChoices {
//
// }
// all, err := ioutil.ReadAll(resp.Body)
// break
// case http.MethodPut:
// client.Do(newRequest)
// break
// case http.MethodDelete:
// client.Do(newRequest)
// break
// default:
// break
// }
//
// resp, err := client.Post(url)
//
//}
//
//func Exec(url string, method string, authInfo string, headParams map[string]string, urlParams map[string]string,
// bodyParamMap map[string]string, filePath string, keyConfigure config.KeyConfigure, bodyJson string) {
// signParams := make(map[string]string)
//
// if headParams != nil {
// for k, v := range headParams {
// signParams[k] = v
// }
// }
//
// if urlParams != nil {
// for k, v := range urlParams {
// signParams[k] = v
// }
// }
//
// if bodyParamMap != nil {
// for k, v := range bodyParamMap {
// signParams[k] = v
// }
// }
//
// reqUri := util.CheckReqUri(url)
//
// authInfo = service.GetAuthInfo(method, reqUri, signParams, keyConfigure)
//
// urlParamString := util.JointMap(urlParams)
// bodyParamString := util.JointMap(bodyParamMap)
//
// buffer := bytes.Buffer{}
//
// buffer.WriteString(getPostUrl())
//
// buffer.WriteString(reqUri)
//
// switch method {
// case http.MethodGet:
// case http.MethodPost:
// if urlParamString != "" {
// if strings.Contains(buffer.String(), "?") {
// buffer.WriteString("&")
// } else {
// buffer.WriteString("?")
// }
// buffer.WriteString(urlParamString)
// }
// break
// default:
// break
// }
//
// response := service.Txn(buffer.String(), method, authInfo, headParams, bodyParamString, filePath, bodyParamMap, keyConfigure, bodyJson)
//
// return response
//}