diff options
author | JeffB42 <10328858+JeffB42@users.noreply.github.com> | 2021-04-08 05:08:27 +0300 |
---|---|---|
committer | JeffB42 <10328858+JeffB42@users.noreply.github.com> | 2021-04-08 05:08:27 +0300 |
commit | 406cb7c2977add514521f4c1d7fbed628016078f (patch) | |
tree | d2ea78f06782f116e2e555a0f81573e476f5fd07 | |
parent | acbaf89bc40661c3a2ea8fc73b2c444ea4492ba3 (diff) |
added 'isRequired' parameter to doJsonRequest() and doRequest(), renamed 'b' to 'bytes' in some places, 'buffer' in others, renamed 'r' to 'request'
41 files changed, 122 insertions, 104 deletions
diff --git a/octoprintApis/BedOffsetRequest.go b/octoprintApis/BedOffsetRequest.go index d0fff54..da794c8 100755 --- a/octoprintApis/BedOffsetRequest.go +++ b/octoprintApis/BedOffsetRequest.go @@ -19,12 +19,12 @@ type BedOffsetRequest struct { // Do sends an API request and returns an error if any. func (cmd *BedOffsetRequest) Do(c *Client) error { - b := bytes.NewBuffer(nil) - if err := cmd.encode(b); err != nil { + buffer := bytes.NewBuffer(nil) + if err := cmd.encode(buffer); err != nil { return err } - _, err := c.doJsonRequest("POST", PrinterToolApiUri, b, PrintToolErrors) + _, err := c.doJsonRequest("POST", PrinterToolApiUri, buffer, PrintToolErrors, true) return err } diff --git a/octoprintApis/BedStateRequest.go b/octoprintApis/BedStateRequest.go index 893e9ad..ef3920b 100755 --- a/octoprintApis/BedStateRequest.go +++ b/octoprintApis/BedStateRequest.go @@ -29,15 +29,15 @@ type BedStateRequest struct { // Do sends an API request and returns the API response. func (cmd *BedStateRequest) Do(c *Client) (*dataModels.TemperatureStateResponse, error) { uri := fmt.Sprintf("%s?history=%t&limit=%d", PrinterBedApiUri, cmd.IncludeHistory, cmd.Limit) - b, err := c.doJsonRequest("GET", uri, nil, PrintBedErrors) + bytes, err := c.doJsonRequest("GET", uri, nil, PrintBedErrors, true) if err != nil { return nil, err } - r := &dataModels.TemperatureStateResponse{} - if err := json.Unmarshal(b, &r); err != nil { + response := &dataModels.TemperatureStateResponse{} + if err := json.Unmarshal(bytes, &response); err != nil { return nil, err } - return r, err + return response, err } diff --git a/octoprintApis/BedTargetRequest.go b/octoprintApis/BedTargetRequest.go index 64936ea..975e1b3 100755 --- a/octoprintApis/BedTargetRequest.go +++ b/octoprintApis/BedTargetRequest.go @@ -19,12 +19,12 @@ type BedTargetRequest struct { // Do sends an API request and returns an error if any. func (cmd *BedTargetRequest) Do(c *Client) error { - b := bytes.NewBuffer(nil) - if err := cmd.encode(b); err != nil { + buffer := bytes.NewBuffer(nil) + if err := cmd.encode(buffer); err != nil { return err } - _, err := c.doJsonRequest("POST", PrinterBedApiUri, b, PrintBedErrors) + _, err := c.doJsonRequest("POST", PrinterBedApiUri, buffer, PrintBedErrors, true) return err } diff --git a/octoprintApis/CancelRequest.go b/octoprintApis/CancelRequest.go index 4b4ed19..af45789 100755 --- a/octoprintApis/CancelRequest.go +++ b/octoprintApis/CancelRequest.go @@ -21,6 +21,6 @@ func (cmd *CancelRequest) Do(c *Client) error { return err } - _, err := c.doJsonRequest("POST", JobApiUri, buffer, JobToolErrors) + _, err := c.doJsonRequest("POST", JobApiUri, buffer, JobToolErrors, true) return err } diff --git a/octoprintApis/CommandRequest.go b/octoprintApis/CommandRequest.go index 758a636..ae46ad1 100755 --- a/octoprintApis/CommandRequest.go +++ b/octoprintApis/CommandRequest.go @@ -21,11 +21,11 @@ type CommandRequest struct { // Do sends an API request and returns an error if any. func (cmd *CommandRequest) Do(c *Client) error { - b := bytes.NewBuffer(nil) - if err := json.NewEncoder(b).Encode(cmd); err != nil { + buffer := bytes.NewBuffer(nil) + if err := json.NewEncoder(buffer).Encode(cmd); err != nil { return err } - _, err := c.doJsonRequest("POST", PrinterCommandApiUri, b, nil) + _, err := c.doJsonRequest("POST", PrinterCommandApiUri, buffer, nil, true) return err } diff --git a/octoprintApis/ConnectRequest.go b/octoprintApis/ConnectRequest.go index 2b7d2f2..22fe044 100755 --- a/octoprintApis/ConnectRequest.go +++ b/octoprintApis/ConnectRequest.go @@ -39,14 +39,14 @@ type ConnectRequest struct { func (cmd *ConnectRequest) Do(client *Client) error { logger.TraceEnter("ConnectRequest.Do()") - bytes := bytes.NewBuffer(nil) - if err := cmd.encode(bytes); err != nil { + buffer := bytes.NewBuffer(nil) + if err := cmd.encode(buffer); err != nil { logger.LogError("ConnectRequest.Do()", "cmd.encode()", err) logger.TraceLeave("ConnectRequest.Do()") return err } - _, err := client.doJsonRequest("POST", ConnectionApiUri, bytes, ConnectionErrors) + _, err := client.doJsonRequest("POST", ConnectionApiUri, buffer, ConnectionErrors, true) if err != nil { logger.LogError("ConnectRequest.go()", "client.doJsonRequest(POST)", err) } diff --git a/octoprintApis/ConnectionRequest.go b/octoprintApis/ConnectionRequest.go index 49b4e15..ce9024c 100755 --- a/octoprintApis/ConnectionRequest.go +++ b/octoprintApis/ConnectionRequest.go @@ -19,7 +19,7 @@ type ConnectionRequest struct{} func (cmd *ConnectionRequest) Do(client *Client) (*dataModels.ConnectionResponse, error) { logger.TraceEnter("ConnectionRequest.Do()") - bytes, err := client.doJsonRequest("GET", ConnectionApiUri, nil, nil) + bytes, err := client.doJsonRequest("GET", ConnectionApiUri, nil, nil, true) if err != nil { logger.LogError("ConnectionRequest.Do()", "client.doJsonRequest(GET)", err) logger.TraceLeave("ConnectionRequest.Do()") diff --git a/octoprintApis/CustomCommandsRequest.go b/octoprintApis/CustomCommandsRequest.go index 485533b..95f32f6 100755 --- a/octoprintApis/CustomCommandsRequest.go +++ b/octoprintApis/CustomCommandsRequest.go @@ -16,15 +16,15 @@ type CustomCommandsRequest struct{} // Do sends an API request and returns the API response. func (cmd *CustomCommandsRequest) Do(c *Client) (*dataModels.CustomCommandsResponse, error) { - b, err := c.doJsonRequest("GET", PrinterCommandCustomApiUri, nil, nil) + bytes, err := c.doJsonRequest("GET", PrinterCommandCustomApiUri, nil, nil, true) if err != nil { return nil, err } - r := &dataModels.CustomCommandsResponse{} - if err := json.Unmarshal(b, r); err != nil { + response := &dataModels.CustomCommandsResponse{} + if err := json.Unmarshal(bytes, response); err != nil { return nil, err } - return r, err + return response, err } diff --git a/octoprintApis/DeleteFileRequest.go b/octoprintApis/DeleteFileRequest.go index 0f033dc..ec94529 100755 --- a/octoprintApis/DeleteFileRequest.go +++ b/octoprintApis/DeleteFileRequest.go @@ -21,7 +21,7 @@ type DeleteFileRequest struct { // Do sends an API request and returns error if any. func (req *DeleteFileRequest) Do(c *Client) error { uri := fmt.Sprintf("%s/%s/%s", FilesApiUri, req.Location, req.Path) - if _, err := c.doJsonRequest("DELETE", uri, nil, FilesLocationDeleteErrors); err != nil { + if _, err := c.doJsonRequest("DELETE", uri, nil, FilesLocationDeleteErrors, true); err != nil { return err } diff --git a/octoprintApis/DisconnectRequest.go b/octoprintApis/DisconnectRequest.go index 3cdf7b6..e0e4a18 100755 --- a/octoprintApis/DisconnectRequest.go +++ b/octoprintApis/DisconnectRequest.go @@ -19,14 +19,14 @@ type DisconnectRequest struct{} func (this *DisconnectRequest) Do(client *Client) error { logger.TraceEnter("DisconnectRequest.Do()") - bytes := bytes.NewBuffer(nil) - if err := this.encode(bytes); err != nil { + buffer := bytes.NewBuffer(nil) + if err := this.encode(buffer); err != nil { logger.LogError("DisconnectRequest.Do()", "this.encode(bytes)", err) logger.TraceLeave("DisconnectRequest.Do()") return err } - _, err := client.doJsonRequest("POST", ConnectionApiUri, bytes, ConnectionErrors) + _, err := client.doJsonRequest("POST", ConnectionApiUri, buffer, ConnectionErrors, true) if err != nil { logger.LogError("DisconnectRequest.Do()", "client.doJsonRequest(POST)", err) } diff --git a/octoprintApis/FakesAckRequest.go b/octoprintApis/FakesAckRequest.go index 939b1ae..b60a638 100755 --- a/octoprintApis/FakesAckRequest.go +++ b/octoprintApis/FakesAckRequest.go @@ -23,14 +23,14 @@ type FakesAckRequest struct{} func (this *FakesAckRequest) Do(client *Client) error { logger.TraceEnter("FakesAckRequest.Do()") - bytes := bytes.NewBuffer(nil) - if err := this.encode(bytes); err != nil { + buffer := bytes.NewBuffer(nil) + if err := this.encode(buffer); err != nil { logger.LogError("FakesAckRequest.Do()", "this.encode(bytes)", err) logger.TraceLeave("FakesAckRequest.Do()") return err } - _, err := client.doJsonRequest("POST", ConnectionApiUri, bytes, ConnectionErrors) + _, err := client.doJsonRequest("POST", ConnectionApiUri, buffer, ConnectionErrors, true) if err != nil { logger.LogError("FakesAckRequest.Do()", "client.doJsonRequest(POST)", err) logger.LogError("main.findConfigFile()", "Current()", err) diff --git a/octoprintApis/FileRequest.go b/octoprintApis/FileRequest.go index cc872b9..223e66b 100755 --- a/octoprintApis/FileRequest.go +++ b/octoprintApis/FileRequest.go @@ -39,7 +39,7 @@ func (request *FileRequest) Do(c *Client) (*dataModels.FileResponse, error) { request.Recursive, ) - bytes, err := c.doJsonRequest("GET", uri, nil, FilesLocationGETErrors) + bytes, err := c.doJsonRequest("GET", uri, nil, FilesLocationGETErrors, true) if err != nil { return nil, err } diff --git a/octoprintApis/FilesRequest.go b/octoprintApis/FilesRequest.go index 335fb2a..29d3158 100755 --- a/octoprintApis/FilesRequest.go +++ b/octoprintApis/FilesRequest.go @@ -29,19 +29,19 @@ func (cmd *FilesRequest) Do(c *Client) (*dataModels.FilesResponse, error) { uri = fmt.Sprintf("%s/%s?recursive=%t", FilesApiUri, cmd.Location, cmd.Recursive) } - b, err := c.doJsonRequest("GET", uri, nil, FilesLocationGETErrors) + bytes, err := c.doJsonRequest("GET", uri, nil, FilesLocationGETErrors, true) if err != nil { return nil, err } - r := &dataModels.FilesResponse{} - if err := json.Unmarshal(b, r); err != nil { + response := &dataModels.FilesResponse{} + if err := json.Unmarshal(bytes, response); err != nil { return nil, err } - if len(r.Children) > 0 { - r.Files = r.Children + if len(response.Children) > 0 { + response.Files = response.Children } - return r, err + return response, err } diff --git a/octoprintApis/FullStateRequest.go b/octoprintApis/FullStateRequest.go index f77f11b..1903341 100755 --- a/octoprintApis/FullStateRequest.go +++ b/octoprintApis/FullStateRequest.go @@ -69,7 +69,7 @@ func (cmd *FullStateRequest) Do(c *Client) (*dataModels.FullStateResponse, error */ - bytes, err := c.doJsonRequest("GET", uri, nil, PrintErrors) + bytes, err := c.doJsonRequest("GET", uri, nil, PrintErrors, true) if err != nil { return nil, err } diff --git a/octoprintApis/JobRequest.go b/octoprintApis/JobRequest.go index c8a6808..773669d 100755 --- a/octoprintApis/JobRequest.go +++ b/octoprintApis/JobRequest.go @@ -15,7 +15,7 @@ type JobRequest struct{} // Do sends an API request and returns the API response. func (cmd *JobRequest) Do(client *Client) (*dataModels.JobResponse, error) { - bytes, err := client.doJsonRequest("GET", JobApiUri, nil, nil) + bytes, err := client.doJsonRequest("GET", JobApiUri, nil, nil, true) if err != nil { return nil, err } diff --git a/octoprintApis/NotificationRequest.go b/octoprintApis/NotificationRequest.go index 3da608d..91d4234 100755 --- a/octoprintApis/NotificationRequest.go +++ b/octoprintApis/NotificationRequest.go @@ -19,7 +19,7 @@ func (this *NotificationRequest) Do(client *Client, uiState string) (*dataModels } target := fmt.Sprintf("%s?command=get_notification", PluginZBoltOctoScreenApiUri) - bytes, err := client.doJsonRequest("GET", target, nil, ConnectionErrors) + bytes, err := client.doJsonRequest("GET", target, nil, ConnectionErrors, true) if err != nil { return nil, err } diff --git a/octoprintApis/OctoScreenSettingsRequest.go b/octoprintApis/OctoScreenSettingsRequest.go index 0ca8974..858aa46 100755 --- a/octoprintApis/OctoScreenSettingsRequest.go +++ b/octoprintApis/OctoScreenSettingsRequest.go @@ -17,7 +17,7 @@ type OctoScreenSettingsRequest struct { func (this *OctoScreenSettingsRequest) Do(client *Client, uiState string) (*dataModels.OctoScreenSettingsResponse, error) { target := fmt.Sprintf("%s?command=get_settings", PluginZBoltOctoScreenApiUri) - bytes, err := client.doJsonRequest("GET", target, nil, ConnectionErrors) + bytes, err := client.doJsonRequest("GET", target, nil, ConnectionErrors, false) if err != nil { return nil, err } diff --git a/octoprintApis/PauseRequest.go b/octoprintApis/PauseRequest.go index e4b97eb..9f9d64d 100755 --- a/octoprintApis/PauseRequest.go +++ b/octoprintApis/PauseRequest.go @@ -25,7 +25,7 @@ func (cmd *PauseRequest) Do(c *Client) error { return err } - _, err := c.doJsonRequest("POST", JobApiUri, buffer, JobToolErrors) + _, err := c.doJsonRequest("POST", JobApiUri, buffer, JobToolErrors, true) return err } diff --git a/octoprintApis/PluginManagerInfoRequest.go b/octoprintApis/PluginManagerInfoRequest.go index 8d93abd..126c863 100755 --- a/octoprintApis/PluginManagerInfoRequest.go +++ b/octoprintApis/PluginManagerInfoRequest.go @@ -26,7 +26,7 @@ func (this *PluginManagerInfoRequest) Do(client *Client, uiState string) (*dataM return nil, err } - bytes, err := client.doJsonRequest("GET", pluginManagerRequestURI, params, ConnectionErrors) + bytes, err := client.doJsonRequest("GET", pluginManagerRequestURI, params, ConnectionErrors, true) if err != nil { logger.LogError("PluginManagerInfoRequest.Do()", "client.doJsonRequest()", err) return nil, err diff --git a/octoprintApis/PrintHeadHomeRequest.go b/octoprintApis/PrintHeadHomeRequest.go index 2a67767..0755a08 100755 --- a/octoprintApis/PrintHeadHomeRequest.go +++ b/octoprintApis/PrintHeadHomeRequest.go @@ -19,12 +19,12 @@ type PrintHeadHomeRequest struct { // Do sends an API request and returns an error if any. func (cmd *PrintHeadHomeRequest) Do(c *Client) error { - b := bytes.NewBuffer(nil) - if err := cmd.encode(b); err != nil { + buffer := bytes.NewBuffer(nil) + if err := cmd.encode(buffer); err != nil { return err } - _, err := c.doJsonRequest("POST", PrinterPrintHeadApiUri, b, PrintHeadJobErrors) + _, err := c.doJsonRequest("POST", PrinterPrintHeadApiUri, buffer, PrintHeadJobErrors, true) return err } diff --git a/octoprintApis/PrintHeadJogRequest.go b/octoprintApis/PrintHeadJogRequest.go index bd4b93e..a7ac209 100755 --- a/octoprintApis/PrintHeadJogRequest.go +++ b/octoprintApis/PrintHeadJogRequest.go @@ -38,12 +38,12 @@ type PrintHeadJogRequest struct { // Do sends an API request and returns an error if any. func (cmd *PrintHeadJogRequest) Do(c *Client) error { - b := bytes.NewBuffer(nil) - if err := cmd.encode(b); err != nil { + buffer := bytes.NewBuffer(nil) + if err := cmd.encode(buffer); err != nil { return err } - _, err := c.doJsonRequest("POST", PrinterPrintHeadApiUri, b, PrintHeadJobErrors) + _, err := c.doJsonRequest("POST", PrinterPrintHeadApiUri, buffer, PrintHeadJobErrors, true) return err } diff --git a/octoprintApis/PrinterProfilesRequest.go b/octoprintApis/PrinterProfilesRequest.go index 675f5ba..6c8b622 100755 --- a/octoprintApis/PrinterProfilesRequest.go +++ b/octoprintApis/PrinterProfilesRequest.go @@ -16,15 +16,15 @@ type PrinterProfilesRequest struct { // Do sends an API request and returns the API response. func (cmd *PrinterProfilesRequest) Do(c *Client) (*dataModels.PrinterProfileResponse, error) { uri := fmt.Sprintf("/api/printerprofiles/%s", cmd.Id) - b, err := c.doJsonRequest("GET", uri, nil, nil) + bytes, err := c.doJsonRequest("GET", uri, nil, nil, true) if err != nil { return nil, err } - r := &dataModels.PrinterProfileResponse{} - if err := json.Unmarshal(b, r); err != nil { + response := &dataModels.PrinterProfileResponse{} + if err := json.Unmarshal(bytes, response); err != nil { return nil, err } - return r, err + return response, err } diff --git a/octoprintApis/RestartRequest.go b/octoprintApis/RestartRequest.go index df117ce..07e00fe 100755 --- a/octoprintApis/RestartRequest.go +++ b/octoprintApis/RestartRequest.go @@ -23,6 +23,6 @@ func (cmd *RestartRequest) Do(c *Client) error { return err } - _, err := c.doJsonRequest("POST", JobApiUri, buffer, JobToolErrors) + _, err := c.doJsonRequest("POST", JobApiUri, buffer, JobToolErrors, true) return err } diff --git a/octoprintApis/RunZOffsetCalibrationRequest.go b/octoprintApis/RunZOffsetCalibrationRequest.go index 18d9d46..dfbd71f 100755 --- a/octoprintApis/RunZOffsetCalibrationRequest.go +++ b/octoprintApis/RunZOffsetCalibrationRequest.go @@ -16,12 +16,12 @@ type RunZOffsetCalibrationRequest struct { func (this *RunZOffsetCalibrationRequest) Do(client *Client) error { this.Command = "run_zoffset_calibration" - bytes := bytes.NewBuffer(nil) - if err := json.NewEncoder(bytes).Encode(this); err != nil { + buffer := bytes.NewBuffer(nil) + if err := json.NewEncoder(buffer).Encode(this); err != nil { logger.LogError("RunZOffsetCalibrationRequest.Do()", "json.NewEncoder(params).Encode(this)", err) return err } - _, err := client.doJsonRequest("POST", PluginZBoltOctoScreenApiUri, bytes, ConnectionErrors) + _, err := client.doJsonRequest("POST", PluginZBoltOctoScreenApiUri, buffer, ConnectionErrors, true) return err } diff --git a/octoprintApis/SdStateRequest.go b/octoprintApis/SdStateRequest.go index 87c8717..2a86fd6 100755 --- a/octoprintApis/SdStateRequest.go +++ b/octoprintApis/SdStateRequest.go @@ -17,15 +17,16 @@ type SdStateRequest struct{} // Do sends an API request and returns the API response. func (cmd *SdStateRequest) Do(c *Client) (*dataModels.SdState, error) { - b, err := c.doJsonRequest("GET", PrinterSdApiUri, nil, PrintSdErrors) + bytes, err := c.doJsonRequest("GET", PrinterSdApiUri, nil, PrintSdErrors, true) if err != nil { return nil, err } - r := &dataModels.SdState{} - if err := json.Unmarshal(b, r); err != nil { + // TODO: rename SdState to SdStateResponse or something. + response := &dataModels.SdState{} + if err := json.Unmarshal(bytes, response); err != nil { return nil, err } - return r, err + return response, err } diff --git a/octoprintApis/SelectFileRequest.go b/octoprintApis/SelectFileRequest.go index 7e50289..ce6b89c 100755 --- a/octoprintApis/SelectFileRequest.go +++ b/octoprintApis/SelectFileRequest.go @@ -29,13 +29,13 @@ type SelectFileRequest struct { // Do sends an API request and returns an error if any. func (cmd *SelectFileRequest) Do(c *Client) error { - b := bytes.NewBuffer(nil) - if err := cmd.encode(b); err != nil { + buffer := bytes.NewBuffer(nil) + if err := cmd.encode(buffer); err != nil { return err } uri := fmt.Sprintf("%s/%s/%s", FilesApiUri, cmd.Location, cmd.Path) - _, err := c.doJsonRequest("POST", uri, b, FilesLocationPathPOSTErrors) + _, err := c.doJsonRequest("POST", uri, buffer, FilesLocationPathPOSTErrors, true) return err } diff --git a/octoprintApis/StartRequest.go b/octoprintApis/StartRequest.go index b1a7638..37aeea6 100755 --- a/octoprintApis/StartRequest.go +++ b/octoprintApis/StartRequest.go @@ -21,6 +21,6 @@ func (cmd *StartRequest) Do(c *Client) error { return err } - _, err := c.doJsonRequest("POST", JobApiUri, buffer, JobToolErrors) + _, err := c.doJsonRequest("POST", JobApiUri, buffer, JobToolErrors, true) return err } diff --git a/octoprintApis/TemperatureDataRequest.go b/octoprintApis/TemperatureDataRequest.go index 2bca238..5c325c1 100755 --- a/octoprintApis/TemperatureDataRequest.go +++ b/octoprintApis/TemperatureDataRequest.go @@ -52,7 +52,7 @@ func (cmd *TemperatureDataRequest) Do(c *Client) (*dataModels.TemperatureDataRes */ - bytes, err := c.doJsonRequest("GET", uri, nil, PrintErrors) + bytes, err := c.doJsonRequest("GET", uri, nil, PrintErrors, true) if err != nil { return nil, err } diff --git a/octoprintApis/ToolExtrudeRequest.go b/octoprintApis/ToolExtrudeRequest.go index 58942bf..f67f483 100755 --- a/octoprintApis/ToolExtrudeRequest.go +++ b/octoprintApis/ToolExtrudeRequest.go @@ -21,12 +21,12 @@ type ToolExtrudeRequest struct { // Do sends an API request and returns an error if any. func (cmd *ToolExtrudeRequest) Do(c *Client) error { - b := bytes.NewBuffer(nil) - if err := cmd.encode(b); err != nil { + buffer := bytes.NewBuffer(nil) + if err := cmd.encode(buffer); err != nil { return err } - _, err := c.doJsonRequest("POST", PrinterToolApiUri, b, PrintToolErrors) + _, err := c.doJsonRequest("POST", PrinterToolApiUri, buffer, PrintToolErrors, true) return err } diff --git a/octoprintApis/ToolFlowRateRequest.go b/octoprintApis/ToolFlowRateRequest.go index 804ea5f..7f96e5a 100755 --- a/octoprintApis/ToolFlowRateRequest.go +++ b/octoprintApis/ToolFlowRateRequest.go @@ -19,12 +19,12 @@ type ToolFlowRateRequest struct { // Do sends an API request and returns an error if any. func (cmd *ToolFlowRateRequest) Do(c *Client) error { - b := bytes.NewBuffer(nil) - if err := cmd.encode(b); err != nil { + buffer := bytes.NewBuffer(nil) + if err := cmd.encode(buffer); err != nil { return err } - _, err := c.doJsonRequest("POST", PrinterToolApiUri, b, PrintToolErrors) + _, err := c.doJsonRequest("POST", PrinterToolApiUri, buffer, PrintToolErrors, true) return err } diff --git a/octoprintApis/ToolOffsetRequest.go b/octoprintApis/ToolOffsetRequest.go index 0ae6aa5..c024084 100755 --- a/octoprintApis/ToolOffsetRequest.go +++ b/octoprintApis/ToolOffsetRequest.go @@ -20,12 +20,12 @@ type ToolOffsetRequest struct { // Do sends an API request and returns an error if any. func (cmd *ToolOffsetRequest) Do(c *Client) error { - b := bytes.NewBuffer(nil) - if err := cmd.encode(b); err != nil { + buffer := bytes.NewBuffer(nil) + if err := cmd.encode(buffer); err != nil { return err } - _, err := c.doJsonRequest("POST", PrinterToolApiUri, b, PrintToolErrors) + _, err := c.doJsonRequest("POST", PrinterToolApiUri, buffer, PrintToolErrors, true) return err } diff --git a/octoprintApis/ToolSelectRequest.go b/octoprintApis/ToolSelectRequest.go index 2451457..d68f39e 100755 --- a/octoprintApis/ToolSelectRequest.go +++ b/octoprintApis/ToolSelectRequest.go @@ -20,12 +20,12 @@ type ToolSelectRequest struct { // Do sends an API request and returns an error if any. func (cmd *ToolSelectRequest) Do(c *Client) error { - b := bytes.NewBuffer(nil) - if err := cmd.encode(b); err != nil { + buffer := bytes.NewBuffer(nil) + if err := cmd.encode(buffer); err != nil { return err } - _, err := c.doJsonRequest("POST", PrinterToolApiUri, b, PrintToolErrors) + _, err := c.doJsonRequest("POST", PrinterToolApiUri, buffer, PrintToolErrors, true) return err } diff --git a/octoprintApis/ToolStateRequest.go b/octoprintApis/ToolStateRequest.go index b491344..3cf55f1 100755 --- a/octoprintApis/ToolStateRequest.go +++ b/octoprintApis/ToolStateRequest.go @@ -46,15 +46,15 @@ func (cmd *ToolStateRequest) Do(c *Client) (*dataModels.TemperatureStateResponse } */ - b, err := c.doJsonRequest("GET", uri, nil, nil) + bytes, err := c.doJsonRequest("GET", uri, nil, nil, true) if err != nil { return nil, err } - r := &dataModels.TemperatureStateResponse{} - if err := json.Unmarshal(b, &r); err != nil { + response := &dataModels.TemperatureStateResponse{} + if err := json.Unmarshal(bytes, &response); err != nil { return nil, err } - return r, err + return response, err } diff --git a/octoprintApis/ToolTargetRequest.go b/octoprintApis/ToolTargetRequest.go index 34678c0..125dd42 100755 --- a/octoprintApis/ToolTargetRequest.go +++ b/octoprintApis/ToolTargetRequest.go @@ -20,12 +20,12 @@ type ToolTargetRequest struct { // Do sends an API request and returns an error if any. func (cmd *ToolTargetRequest) Do(c *Client) error { - b := bytes.NewBuffer(nil) - if err := cmd.encode(b); err != nil { + buffer := bytes.NewBuffer(nil) + if err := cmd.encode(buffer); err != nil { return err } - _, err := c.doJsonRequest("POST", PrinterToolApiUri, b, PrintToolErrors) + _, err := c.doJsonRequest("POST", PrinterToolApiUri, buffer, PrintToolErrors, true) return err } diff --git a/octoprintApis/UploadFileRequest.go b/octoprintApis/UploadFileRequest.go index 2b3a581..8faf7bb 100755 --- a/octoprintApis/UploadFileRequest.go +++ b/octoprintApis/UploadFileRequest.go @@ -64,17 +64,17 @@ func (req *UploadFileRequest) Do(c *Client) (*dataModels.UploadFileResponse, err req.addSelectPrintAndClose() uri := fmt.Sprintf("%s/%s", FilesApiUri, req.Location) - b, err := c.doRequest("POST", uri, req.w.FormDataContentType(), req.b, FilesLocationPOSTErrors) + bytes, err := c.doRequest("POST", uri, req.w.FormDataContentType(), req.b, FilesLocationPOSTErrors, true) if err != nil { return nil, err } - r := &dataModels.UploadFileResponse{} - if err := json.Unmarshal(b, r); err != nil { + response := &dataModels.UploadFileResponse{} + if err := json.Unmarshal(bytes, response); err != nil { return nil, err } - return r, err + return response, err } func (req *UploadFileRequest) addSelectPrintAndClose() error { diff --git a/octoprintApis/ZOffsetRequest.go b/octoprintApis/ZOffsetRequest.go index bd456dc..eb73e31 100755 --- a/octoprintApis/ZOffsetRequest.go +++ b/octoprintApis/ZOffsetRequest.go @@ -24,8 +24,8 @@ func (this *ZOffsetRequest) Do(client *Client) (*dataModels.ZOffsetResponse, err return nil, err } - // b, err := client.doJsonRequest("POST", URIZBoltRequest, params, ConnectionErrors) - bytes, err := client.doJsonRequest("GET", PluginZBoltApiUri, params, ConnectionErrors) + // bytes, err := client.doJsonRequest("POST", URIZBoltRequest, params, ConnectionErrors) + bytes, err := client.doJsonRequest("GET", PluginZBoltApiUri, params, ConnectionErrors, true) if err != nil { logger.LogError("ZOffsetRequest.Do()", "client.doJsonRequest()", err) return nil, err @@ -53,12 +53,12 @@ type SetZOffsetRequest struct { func (this *SetZOffsetRequest) Do(client *Client) error { this.Command = "set_z_offset" - bytes := bytes.NewBuffer(nil) - if err := json.NewEncoder(bytes).Encode(this); err != nil { + buffer := bytes.NewBuffer(nil) + if err := json.NewEncoder(buffer).Encode(this); err != nil { logger.LogError("SetZOffsetRequest.Do()", "json.NewEncoder(params).Encode(this)", err) return err } - _, err := client.doJsonRequest("POST", PluginZBoltApiUri, bytes, ConnectionErrors) + _, err := client.doJsonRequest("POST", PluginZBoltApiUri, buffer, ConnectionErrors, true) return err } diff --git a/octoprintApis/client.go b/octoprintApis/client.go index 9e29ef6..080f8a4 100755 --- a/octoprintApis/client.go +++ b/octoprintApis/client.go @@ -52,12 +52,21 @@ func (this *Client) doJsonRequest( target string, body io.Reader, statusMapping StatusMapping, + isRequired bool, ) ([]byte, error) { logger.TraceEnter("Client.doJsonRequest()") - bytes, err := this.doRequest(method, target, "application/json", body, statusMapping) + bytes, err := this.doRequest(method, target, "application/json", body, statusMapping, isRequired) if err != nil { - logger.LogError("Client.doJsonRequest()", "this.doRequest()", err) + if isRequired { + // Some APIs return an error and the error should be logged. + logger.LogError("Client.doJsonRequest()", "this.doRequest()", err) + } else { + // On the other hand, calls to some APIs are optional, and the result should be logged + // as info and leave it up to the caller to determine whether it's an error or not. + logger.Infof("Client.doJsonRequest() - this.doRequest() returned %q", err) + } + logger.TraceLeave("Client.doJsonRequest()") return nil, err } @@ -78,6 +87,7 @@ func (this *Client) doRequest( contentType string, body io.Reader, statusMapping StatusMapping, + isRequired bool, ) ([]byte, error) { logger.TraceEnter("Client.doRequest()") logger.Debugf("method: %s", method) @@ -109,22 +119,29 @@ func (this *Client) doRequest( // logger.Debugf("API key: %s", this.APIKey) req.Header.Add("X-Api-Key", this.APIKey) - resp, err := this.httpClient.Do(req) + response, err := this.httpClient.Do(req) if err != nil { logger.LogError("Client.doRequest()", "this.httpClient.Do()", err) logger.TraceLeave("Client.doRequest()") return nil, err } - response, err := this.handleResponse(resp, statusMapping) + bytes, err := this.handleResponse(response, statusMapping) if err != nil { - logger.LogError("Client.doRequest()", "this.handleResponse()", err) + if isRequired { + // Some APIs return an error and the error should be logged. + logger.LogError("Client.doRequest()", "this.handleResponse()", err) + } else { + // On the other hand, calls to some APIs are optional, and the result should be logged + // as info and leave it up to the caller to determine whether it's an error or not. + logger.Infof("Client.doRequest() - this.handleResponse() returned %q", err) + } logger.TraceLeave("Client.doRequest()") return nil, err } logger.TraceLeave("Client.doRequest()") - return response, err + return bytes, err } diff --git a/octoprintApis/printer.go b/octoprintApis/printer.go index bf3ef79..3458e46 100755 --- a/octoprintApis/printer.go +++ b/octoprintApis/printer.go @@ -58,7 +58,7 @@ func doCommandRequest( return err } - _, err := client.doJsonRequest("POST", uri, buffer, statusMapping) + _, err := client.doJsonRequest("POST", uri, buffer, statusMapping, true) return err } diff --git a/octoprintApis/settings.go b/octoprintApis/settings.go index c59b584..4aee4ba 100755 --- a/octoprintApis/settings.go +++ b/octoprintApis/settings.go @@ -15,7 +15,7 @@ type SettingsRequest struct{} // Do sends an API request and returns the API response. func (cmd *SettingsRequest) Do(c *Client) (*dataModels.SettingsResponse, error) { - bytes, err := c.doJsonRequest("GET", SettingsApiUri, nil, nil) + bytes, err := c.doJsonRequest("GET", SettingsApiUri, nil, nil, true) if err != nil { return nil, err } diff --git a/octoprintApis/system.go b/octoprintApis/system.go index c879fdb..ef1da2f 100755 --- a/octoprintApis/system.go +++ b/octoprintApis/system.go @@ -23,7 +23,7 @@ type SystemCommandsRequest struct{} // Do sends an API request and returns the API response. func (cmd *SystemCommandsRequest) Do(c *Client) (*dataModels.SystemCommandsResponse, error) { - bytes, err := c.doJsonRequest("GET", SystemCommandsApiUri, nil, nil) + bytes, err := c.doJsonRequest("GET", SystemCommandsApiUri, nil, nil, true) if err != nil { return nil, err } @@ -68,6 +68,6 @@ type SystemExecuteCommandRequest struct { // Do sends an API request and returns an error if any. func (cmd *SystemExecuteCommandRequest) Do(c *Client) error { uri := fmt.Sprintf("%s/%s/%s", SystemCommandsApiUri, cmd.Source, cmd.Action) - _, err := c.doJsonRequest("POST", uri, nil, ExecuteErrors) + _, err := c.doJsonRequest("POST", uri, nil, ExecuteErrors, true) return err } diff --git a/octoprintApis/version.go b/octoprintApis/version.go index d275f18..948f25d 100755 --- a/octoprintApis/version.go +++ b/octoprintApis/version.go @@ -15,7 +15,7 @@ type VersionRequest struct{} // Do sends an API request and returns the API response. func (cmd *VersionRequest) Do(c *Client) (*dataModels.VersionResponse, error) { - bytes, err := c.doJsonRequest("GET", VersionApiUri, nil, nil) + bytes, err := c.doJsonRequest("GET", VersionApiUri, nil, nil, true) if err != nil { return nil, err } |