| 32 | } |
| 33 | |
| 34 | func SetMiddleware(target configuration.Target, binary, script, remote string) (v2.MiddlewareView, error) { |
| 35 | middlewareRequest := &v2.MiddlewareView{ |
| 36 | Binary: binary, |
| 37 | Script: script, |
| 38 | Remote: remote, |
| 39 | } |
| 40 | |
| 41 | marshalledMiddleware, err := json.Marshal(middlewareRequest) |
| 42 | if err != nil { |
| 43 | return v2.MiddlewareView{}, err |
| 44 | } |
| 45 | |
| 46 | response, err := doRequest(target, "PUT", v2ApiMiddleware, string(marshalledMiddleware), nil) |
| 47 | if err != nil { |
| 48 | return v2.MiddlewareView{}, err |
| 49 | } |
| 50 | |
| 51 | defer response.Body.Close() |
| 52 | |
| 53 | err = handleResponseError(response, "Could not set middleware, it may have failed the test") |
| 54 | if err != nil { |
| 55 | return v2.MiddlewareView{}, err |
| 56 | } |
| 57 | |
| 58 | var middlewareView v2.MiddlewareView |
| 59 | |
| 60 | err = UnmarshalToInterface(response, &middlewareView) |
| 61 | if err != nil { |
| 62 | return v2.MiddlewareView{}, err |
| 63 | } |
| 64 | |
| 65 | return middlewareView, nil |
| 66 | } |