diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-03-08 13:00:10 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-03-08 13:00:10 +0100 |
| commit | 8240eedfec5f875dbeec25d50d4e307d1d606d72 (patch) | |
| tree | 88d97e05769c8ffbab720e1a92179f73508ff9cd /dashboard/app/reporting_external.go | |
| parent | b0d99d1ebba0827d4ef2559f95b94bf7d941a2cf (diff) | |
dashboard/app: switch API to passing args as form-encoded values
This is slightly more secure and does not pollute URLs.
Diffstat (limited to 'dashboard/app/reporting_external.go')
| -rw-r--r-- | dashboard/app/reporting_external.go | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/dashboard/app/reporting_external.go b/dashboard/app/reporting_external.go index c15bc45c5..85e6b501e 100644 --- a/dashboard/app/reporting_external.go +++ b/dashboard/app/reporting_external.go @@ -25,9 +25,9 @@ func (cfg *ExternalConfig) Type() string { return cfg.ID } -func apiReportingPollBugs(c context.Context, r *http.Request) (interface{}, error) { +func apiReportingPollBugs(c context.Context, r *http.Request, payload []byte) (interface{}, error) { req := new(dashapi.PollBugsRequest) - if err := json.NewDecoder(r.Body).Decode(req); err != nil { + if err := json.Unmarshal(payload, req); err != nil { return nil, fmt.Errorf("failed to unmarshal request: %v", err) } reports := reportingPollBugs(c, req.Type) @@ -37,9 +37,9 @@ func apiReportingPollBugs(c context.Context, r *http.Request) (interface{}, erro return resp, nil } -func apiReportingPollClosed(c context.Context, r *http.Request) (interface{}, error) { +func apiReportingPollClosed(c context.Context, r *http.Request, payload []byte) (interface{}, error) { req := new(dashapi.PollClosedRequest) - if err := json.NewDecoder(r.Body).Decode(req); err != nil { + if err := json.Unmarshal(payload, req); err != nil { return nil, fmt.Errorf("failed to unmarshal request: %v", err) } ids, err := reportingPollClosed(c, req.IDs) @@ -53,9 +53,9 @@ func apiReportingPollClosed(c context.Context, r *http.Request) (interface{}, er return resp, nil } -func apiReportingUpdate(c context.Context, r *http.Request) (interface{}, error) { +func apiReportingUpdate(c context.Context, r *http.Request, payload []byte) (interface{}, error) { req := new(dashapi.BugUpdate) - if err := json.NewDecoder(r.Body).Decode(req); err != nil { + if err := json.Unmarshal(payload, req); err != nil { return nil, fmt.Errorf("failed to unmarshal request: %v", err) } ok, reason, err := incomingCommand(c, req) |
