From 8240eedfec5f875dbeec25d50d4e307d1d606d72 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Thu, 8 Mar 2018 13:00:10 +0100 Subject: dashboard/app: switch API to passing args as form-encoded values This is slightly more secure and does not pollute URLs. --- dashboard/app/reporting_external.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'dashboard/app/reporting_external.go') 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) -- cgit mrf-deployment