@@ -81,14 +81,37 @@ func (d *Driver) LogInfo(clusterId string, id string) (*log_driver.LogInfo, erro
8181 return nil , fmt .Errorf ("no log found" )
8282 }
8383 stream := list [0 ].Stream
84+ requestBody := stream .RequestBody
85+ proxyRequestBody := stream .ProxyBody
86+ proxyResponseBody := stream .ProxyResponseBody
87+ responseBody := stream .ResponseBody
88+ if len (list [0 ].Values ) > 0 {
89+ switch t := list [0 ].Values [0 ].(type ) {
90+ case []interface {}:
91+ if len (t ) > 1 {
92+ v , ok := t [1 ].(string )
93+ if ! ok {
94+ break
95+ }
96+ var tmp LogBodyDetail
97+ err = json .Unmarshal ([]byte (v ), & tmp )
98+ if err == nil {
99+ requestBody = tmp .RequestBody
100+ proxyRequestBody = tmp .ProxyBody
101+ responseBody = tmp .ResponseBody
102+ proxyResponseBody = tmp .ProxyBody
103+ }
104+ }
105+ }
106+ }
84107 msec , _ := strconv .ParseInt (stream .Msec , 10 , 64 )
85108 return & log_driver.LogInfo {
86109 LogItem : ToLogItem (stream , msec ),
87110 ContentType : stream .ContentType ,
88- RequestBody : stream . RequestBody ,
89- ProxyBody : stream . ProxyBody ,
90- ProxyResponseBody : stream . ProxyResponseBody ,
91- ResponseBody : stream . ResponseBody ,
111+ RequestBody : requestBody ,
112+ ProxyBody : proxyRequestBody ,
113+ ProxyResponseBody : proxyResponseBody ,
114+ ResponseBody : responseBody ,
92115 RequestHeader : stream .RequestHeader ,
93116 ResponseHeader : stream .ResponseHeader ,
94117 }, nil
0 commit comments