aboutsummaryrefslogtreecommitdiffstats
path: root/dashboard/app/reporting_external.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-03-08 13:00:10 +0100
committerDmitry Vyukov <dvyukov@google.com>2018-03-08 13:00:10 +0100
commit8240eedfec5f875dbeec25d50d4e307d1d606d72 (patch)
tree88d97e05769c8ffbab720e1a92179f73508ff9cd /dashboard/app/reporting_external.go
parentb0d99d1ebba0827d4ef2559f95b94bf7d941a2cf (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.go12
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)