MCPcopy Index your code
hub / github.com/SpectoLabs/hoverfly / SetModeWithArguments

Function SetModeWithArguments

hoverctl/wrapper/mode.go:36–65  ·  view source on GitHub ↗

Set will go the state endpoint in Hoverfly, sending JSON that will set the mode of Hoverfly

(target configuration.Target, modeView *v2.ModeView)

Source from the content-addressed store, hash-verified

34
35// Set will go the state endpoint in Hoverfly, sending JSON that will set the mode of Hoverfly
36func SetModeWithArguments(target configuration.Target, modeView *v2.ModeView) (string, error) {
37 if modeView.Mode != "simulate" && modeView.Mode != "capture" &&
38 modeView.Mode != "modify" && modeView.Mode != "synthesize" &&
39 modeView.Mode != "spy" && modeView.Mode != "diff" {
40 return "", errors.New(modeView.Mode + " is not a valid mode")
41 }
42 bytes, err := json.Marshal(modeView)
43 if err != nil {
44 return "", err
45 }
46
47 response, err := doRequest(target, "PUT", v2ApiMode, string(bytes), nil)
48 if err != nil {
49 return "", err
50 }
51
52 err = handleResponseError(response, "Could not set mode")
53 if err != nil {
54 return "", err
55 }
56
57 var modeViewResponse v2.ModeView
58
59 err = UnmarshalToInterface(response, &modeViewResponse)
60 if err != nil {
61 return "", err
62 }
63
64 return modeViewResponse.Mode, nil
65}

Calls 3

handleResponseErrorFunction · 0.85
UnmarshalToInterfaceFunction · 0.85
doRequestFunction · 0.70