package firenzeapi import ( "bytes" "context" "encoding/json" "io/ioutil" "net/http" "service/api/base" firenzeproto "service/api/proto/firenze" "service/library/logger" "time" ) var sendBizMsgUrl = "https://wsdebug.tiefen.fun/send_biz_msg" func SendBizMsg(param *firenzeproto.SendBizMsgParam) (*base.BaseResponse, error) { defer logger.Recover() ctx, cancel := context.WithTimeout(context.Background(), time.Millisecond*2000) defer cancel() jsonStr, err := json.Marshal(param) if err != nil { logger.Error("build data error: %v", err) return nil, err } req, err := http.NewRequestWithContext(ctx, "POST", sendBizMsgUrl, bytes.NewBuffer(jsonStr)) if err != nil { logger.Error("NewRequest error %v", err) return nil, err } req.Header.Set("Content-Type", "application/json") client := &http.Client{} resp, err := client.Do(req) if err != nil { logger.Error("failed to add case, err : %v", err) return nil, err } defer resp.Body.Close() res := new(base.BaseResponse) bs, _ := ioutil.ReadAll(resp.Body) err = json.Unmarshal(bs, &res) if err != nil { return nil, err } return res, nil }