Skip to content
This repository was archived by the owner on Sep 12, 2019. It is now read-only.

Commit 08c8571

Browse files
committed
Do not send FetchInfo request in /send when not set
1 parent 7c6a3b1 commit 08c8571

File tree

1 file changed

+40
-34
lines changed

1 file changed

+40
-34
lines changed

src/github.com/stellar/gateway/compliance/handlers/request_handler_send.go

Lines changed: 40 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -99,44 +99,50 @@ func (rh *RequestHandler) HandlerSend(c web.C, w http.ResponseWriter, r *http.Re
9999
}
100100

101101
// Fetch Sender Info
102-
fetchInfoRequest := compliance.FetchInfoRequest{Address: request.Sender}
103-
resp, err := rh.Client.PostForm(
104-
rh.Config.Callbacks.FetchInfo,
105-
fetchInfoRequest.ToValues(),
106-
)
107-
if err != nil {
108-
log.WithFields(log.Fields{
109-
"fetch_info": rh.Config.Callbacks.FetchInfo,
110-
"err": err,
111-
}).Error("Error sending request to fetch_info server")
112-
server.Write(w, protocols.InternalServerError)
113-
return
114-
}
102+
senderInfo := ""
103+
104+
if rh.Config.Callbacks.FetchInfo != "" {
105+
fetchInfoRequest := compliance.FetchInfoRequest{Address: request.Sender}
106+
resp, err := rh.Client.PostForm(
107+
rh.Config.Callbacks.FetchInfo,
108+
fetchInfoRequest.ToValues(),
109+
)
110+
if err != nil {
111+
log.WithFields(log.Fields{
112+
"fetch_info": rh.Config.Callbacks.FetchInfo,
113+
"err": err,
114+
}).Error("Error sending request to fetch_info server")
115+
server.Write(w, protocols.InternalServerError)
116+
return
117+
}
115118

116-
defer resp.Body.Close()
117-
body, err := ioutil.ReadAll(resp.Body)
118-
if err != nil {
119-
log.WithFields(log.Fields{
120-
"fetch_info": rh.Config.Callbacks.FetchInfo,
121-
"err": err,
122-
}).Error("Error reading fetch_info server response")
123-
server.Write(w, protocols.InternalServerError)
124-
return
125-
}
119+
defer resp.Body.Close()
120+
body, err := ioutil.ReadAll(resp.Body)
121+
if err != nil {
122+
log.WithFields(log.Fields{
123+
"fetch_info": rh.Config.Callbacks.FetchInfo,
124+
"err": err,
125+
}).Error("Error reading fetch_info server response")
126+
server.Write(w, protocols.InternalServerError)
127+
return
128+
}
126129

127-
if resp.StatusCode != http.StatusOK {
128-
log.WithFields(log.Fields{
129-
"fetch_info": rh.Config.Callbacks.FetchInfo,
130-
"status": resp.StatusCode,
131-
"body": string(body),
132-
}).Error("Error response from fetch_info server")
133-
server.Write(w, protocols.InternalServerError)
134-
return
130+
if resp.StatusCode != http.StatusOK {
131+
log.WithFields(log.Fields{
132+
"fetch_info": rh.Config.Callbacks.FetchInfo,
133+
"status": resp.StatusCode,
134+
"body": string(body),
135+
}).Error("Error response from fetch_info server")
136+
server.Write(w, protocols.InternalServerError)
137+
return
138+
}
139+
140+
senderInfo = string(body)
135141
}
136142

137143
memoPreimage := &memo.Memo{
138144
Transaction: memo.Transaction{
139-
SenderInfo: string(body),
145+
SenderInfo: senderInfo,
140146
Route: request.Destination,
141147
Extra: request.ExtraMemo,
142148
},
@@ -188,7 +194,7 @@ func (rh *RequestHandler) HandlerSend(c web.C, w http.ResponseWriter, r *http.Re
188194
Data: string(data),
189195
Signature: sig,
190196
}
191-
resp, err = rh.Client.PostForm(
197+
resp, err := rh.Client.PostForm(
192198
stellarToml.AuthServer,
193199
authRequest.ToValues(),
194200
)
@@ -202,7 +208,7 @@ func (rh *RequestHandler) HandlerSend(c web.C, w http.ResponseWriter, r *http.Re
202208
}
203209

204210
defer resp.Body.Close()
205-
body, err = ioutil.ReadAll(resp.Body)
211+
body, err := ioutil.ReadAll(resp.Body)
206212
if err != nil {
207213
log.Error("Error reading auth server response")
208214
server.Write(w, protocols.InternalServerError)

0 commit comments

Comments
 (0)