Kaynağa Gözat

special http response error is created for further diagnostic of errors when doing CRM http request.

master
Patrick Peng Sun 8 yıl önce
ebeveyn
işleme
23ccb08961
2 değiştirilmiş dosya ile 41 ekleme ve 0 silme
  1. +34
    -0
      errorHttp.go
  2. +7
    -0
      errorHttp_test.go

+ 34
- 0
errorHttp.go Dosyayı Görüntüle

@@ -0,0 +1,34 @@
package main

import (
"encoding/json"
"net/http"
)

type errorHTTPResponse struct {
ErrorMsg string
HTTPStatusCode int
HTTPHeader http.Header
}

func (e errorHTTPResponse) Error() string {
return e.ErrorMsg
}

func errorHTTPResponseNew(r *http.Response, msg string) (e errorHTTPResponse) {
e.ErrorMsg = msg
e.HTTPStatusCode = r.StatusCode
e.HTTPHeader = r.Header
return e
}

type crmdReason struct {
Reason string `json:"reason"`
Data string `json:"data"`
}

func (e *errorHTTPResponse) XStatusReason() (r crmdReason) {
jsonStr := e.HTTPHeader.Get("X-Status-Reason")
json.Unmarshal([]byte(jsonStr), &r)
return
}

+ 7
- 0
errorHttp_test.go Dosyayı Görüntüle

@@ -0,0 +1,7 @@
package main

import "testing"

func TestXStatusReason(t *testing.T) {
//TODO
}

Yükleniyor…
İptal
Kaydet