/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ package dev.plexapi.sdk; import com.fasterxml.jackson.core.type.TypeReference; import dev.plexapi.sdk.models.errors.GetButlerTasksBadRequest; import dev.plexapi.sdk.models.errors.GetButlerTasksUnauthorized; import dev.plexapi.sdk.models.errors.SDKError; import dev.plexapi.sdk.models.errors.StartAllTasksBadRequest; import dev.plexapi.sdk.models.errors.StartAllTasksUnauthorized; import dev.plexapi.sdk.models.errors.StartTaskBadRequest; import dev.plexapi.sdk.models.errors.StartTaskUnauthorized; import dev.plexapi.sdk.models.errors.StopAllTasksBadRequest; import dev.plexapi.sdk.models.errors.StopAllTasksUnauthorized; import dev.plexapi.sdk.models.errors.StopTaskBadRequest; import dev.plexapi.sdk.models.errors.StopTaskUnauthorized; import dev.plexapi.sdk.models.operations.GetButlerTasksRequestBuilder; import dev.plexapi.sdk.models.operations.GetButlerTasksResponse; import dev.plexapi.sdk.models.operations.GetButlerTasksResponseBody; import dev.plexapi.sdk.models.operations.PathParamTaskName; import dev.plexapi.sdk.models.operations.SDKMethodInterfaces.*; import dev.plexapi.sdk.models.operations.StartAllTasksRequestBuilder; import dev.plexapi.sdk.models.operations.StartAllTasksResponse; import dev.plexapi.sdk.models.operations.StartTaskRequest; import dev.plexapi.sdk.models.operations.StartTaskRequestBuilder; import dev.plexapi.sdk.models.operations.StartTaskResponse; import dev.plexapi.sdk.models.operations.StopAllTasksRequestBuilder; import dev.plexapi.sdk.models.operations.StopAllTasksResponse; import dev.plexapi.sdk.models.operations.StopTaskRequest; import dev.plexapi.sdk.models.operations.StopTaskRequestBuilder; import dev.plexapi.sdk.models.operations.StopTaskResponse; import dev.plexapi.sdk.models.operations.TaskName; import dev.plexapi.sdk.utils.HTTPClient; import dev.plexapi.sdk.utils.HTTPRequest; import dev.plexapi.sdk.utils.Hook.AfterErrorContextImpl; import dev.plexapi.sdk.utils.Hook.AfterSuccessContextImpl; import dev.plexapi.sdk.utils.Hook.BeforeRequestContextImpl; import dev.plexapi.sdk.utils.Utils; import java.io.InputStream; import java.lang.Exception; import java.lang.String; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.util.List; import java.util.Optional; /** * Butler is the task manager of the Plex Media Server Ecosystem. */ public class Butler implements MethodCallGetButlerTasks, MethodCallStartAllTasks, MethodCallStopAllTasks, MethodCallStartTask, MethodCallStopTask { private final SDKConfiguration sdkConfiguration; Butler(SDKConfiguration sdkConfiguration) { this.sdkConfiguration = sdkConfiguration; } /** * Get Butler tasks * *

Returns a list of butler tasks * * @return The call builder */ public GetButlerTasksRequestBuilder getButlerTasks() { return new GetButlerTasksRequestBuilder(this); } /** * Get Butler tasks * *

Returns a list of butler tasks * * @return The response from the API call * @throws Exception if the API call fails */ public GetButlerTasksResponse getButlerTasksDirect() throws Exception { String _baseUrl = Utils.templateUrl( this.sdkConfiguration.serverUrl(), this.sdkConfiguration.getServerVariableDefaults()); String _url = Utils.generateURL( _baseUrl, "/butler"); HTTPRequest _req = new HTTPRequest(_url, "GET"); _req.addHeader("Accept", "application/json") .addHeader("user-agent", SDKConfiguration.USER_AGENT); Optional _hookSecuritySource = Optional.of(this.sdkConfiguration.securitySource()); Utils.configureSecurity(_req, this.sdkConfiguration.securitySource().getSecurity()); HTTPClient _client = this.sdkConfiguration.client(); HttpRequest _r = sdkConfiguration.hooks() .beforeRequest( new BeforeRequestContextImpl( this.sdkConfiguration, _baseUrl, "getButlerTasks", Optional.of(List.of()), _hookSecuritySource), _req.build()); HttpResponse _httpRes; try { _httpRes = _client.send(_r); if (Utils.statusCodeMatches(_httpRes.statusCode(), "400", "401", "4XX", "5XX")) { _httpRes = sdkConfiguration.hooks() .afterError( new AfterErrorContextImpl( this.sdkConfiguration, _baseUrl, "getButlerTasks", Optional.of(List.of()), _hookSecuritySource), Optional.of(_httpRes), Optional.empty()); } else { _httpRes = sdkConfiguration.hooks() .afterSuccess( new AfterSuccessContextImpl( this.sdkConfiguration, _baseUrl, "getButlerTasks", Optional.of(List.of()), _hookSecuritySource), _httpRes); } } catch (Exception _e) { _httpRes = sdkConfiguration.hooks() .afterError( new AfterErrorContextImpl( this.sdkConfiguration, _baseUrl, "getButlerTasks", Optional.of(List.of()), _hookSecuritySource), Optional.empty(), Optional.of(_e)); } String _contentType = _httpRes .headers() .firstValue("Content-Type") .orElse("application/octet-stream"); GetButlerTasksResponse.Builder _resBuilder = GetButlerTasksResponse .builder() .contentType(_contentType) .statusCode(_httpRes.statusCode()) .rawResponse(_httpRes); GetButlerTasksResponse _res = _resBuilder.build(); if (Utils.statusCodeMatches(_httpRes.statusCode(), "200")) { if (Utils.contentTypeMatches(_contentType, "application/json")) { GetButlerTasksResponseBody _out = Utils.mapper().readValue( Utils.toUtf8AndClose(_httpRes.body()), new TypeReference() {}); _res.withObject(Optional.ofNullable(_out)); return _res; } else { throw new SDKError( _httpRes, _httpRes.statusCode(), "Unexpected content-type received: " + _contentType, Utils.extractByteArrayFromBody(_httpRes)); } } if (Utils.statusCodeMatches(_httpRes.statusCode(), "400")) { if (Utils.contentTypeMatches(_contentType, "application/json")) { GetButlerTasksBadRequest _out = Utils.mapper().readValue( Utils.toUtf8AndClose(_httpRes.body()), new TypeReference() {}); _out.withRawResponse(Optional.ofNullable(_httpRes)); throw _out; } else { throw new SDKError( _httpRes, _httpRes.statusCode(), "Unexpected content-type received: " + _contentType, Utils.extractByteArrayFromBody(_httpRes)); } } if (Utils.statusCodeMatches(_httpRes.statusCode(), "401")) { if (Utils.contentTypeMatches(_contentType, "application/json")) { GetButlerTasksUnauthorized _out = Utils.mapper().readValue( Utils.toUtf8AndClose(_httpRes.body()), new TypeReference() {}); _out.withRawResponse(Optional.ofNullable(_httpRes)); throw _out; } else { throw new SDKError( _httpRes, _httpRes.statusCode(), "Unexpected content-type received: " + _contentType, Utils.extractByteArrayFromBody(_httpRes)); } } if (Utils.statusCodeMatches(_httpRes.statusCode(), "4XX")) { // no content throw new SDKError( _httpRes, _httpRes.statusCode(), "API error occurred", Utils.extractByteArrayFromBody(_httpRes)); } if (Utils.statusCodeMatches(_httpRes.statusCode(), "5XX")) { // no content throw new SDKError( _httpRes, _httpRes.statusCode(), "API error occurred", Utils.extractByteArrayFromBody(_httpRes)); } throw new SDKError( _httpRes, _httpRes.statusCode(), "Unexpected status code received: " + _httpRes.statusCode(), Utils.extractByteArrayFromBody(_httpRes)); } /** * Start all Butler tasks * *

This endpoint will attempt to start all Butler tasks that are enabled in the settings. Butler tasks normally run automatically during a time window configured on the server's Settings page but can be manually started using this endpoint. Tasks will run with the following criteria: * 1. Any tasks not scheduled to run on the current day will be skipped. * 2. If a task is configured to run at a random time during the configured window and we are outside that window, the task will start immediately. * 3. If a task is configured to run at a random time during the configured window and we are within that window, the task will be scheduled at a random time within the window. * 4. If we are outside the configured window, the task will start immediately. * * @return The call builder */ public StartAllTasksRequestBuilder startAllTasks() { return new StartAllTasksRequestBuilder(this); } /** * Start all Butler tasks * *

This endpoint will attempt to start all Butler tasks that are enabled in the settings. Butler tasks normally run automatically during a time window configured on the server's Settings page but can be manually started using this endpoint. Tasks will run with the following criteria: * 1. Any tasks not scheduled to run on the current day will be skipped. * 2. If a task is configured to run at a random time during the configured window and we are outside that window, the task will start immediately. * 3. If a task is configured to run at a random time during the configured window and we are within that window, the task will be scheduled at a random time within the window. * 4. If we are outside the configured window, the task will start immediately. * * @return The response from the API call * @throws Exception if the API call fails */ public StartAllTasksResponse startAllTasksDirect() throws Exception { String _baseUrl = Utils.templateUrl( this.sdkConfiguration.serverUrl(), this.sdkConfiguration.getServerVariableDefaults()); String _url = Utils.generateURL( _baseUrl, "/butler"); HTTPRequest _req = new HTTPRequest(_url, "POST"); _req.addHeader("Accept", "application/json") .addHeader("user-agent", SDKConfiguration.USER_AGENT); Optional _hookSecuritySource = Optional.of(this.sdkConfiguration.securitySource()); Utils.configureSecurity(_req, this.sdkConfiguration.securitySource().getSecurity()); HTTPClient _client = this.sdkConfiguration.client(); HttpRequest _r = sdkConfiguration.hooks() .beforeRequest( new BeforeRequestContextImpl( this.sdkConfiguration, _baseUrl, "startAllTasks", Optional.of(List.of()), _hookSecuritySource), _req.build()); HttpResponse _httpRes; try { _httpRes = _client.send(_r); if (Utils.statusCodeMatches(_httpRes.statusCode(), "400", "401", "4XX", "5XX")) { _httpRes = sdkConfiguration.hooks() .afterError( new AfterErrorContextImpl( this.sdkConfiguration, _baseUrl, "startAllTasks", Optional.of(List.of()), _hookSecuritySource), Optional.of(_httpRes), Optional.empty()); } else { _httpRes = sdkConfiguration.hooks() .afterSuccess( new AfterSuccessContextImpl( this.sdkConfiguration, _baseUrl, "startAllTasks", Optional.of(List.of()), _hookSecuritySource), _httpRes); } } catch (Exception _e) { _httpRes = sdkConfiguration.hooks() .afterError( new AfterErrorContextImpl( this.sdkConfiguration, _baseUrl, "startAllTasks", Optional.of(List.of()), _hookSecuritySource), Optional.empty(), Optional.of(_e)); } String _contentType = _httpRes .headers() .firstValue("Content-Type") .orElse("application/octet-stream"); StartAllTasksResponse.Builder _resBuilder = StartAllTasksResponse .builder() .contentType(_contentType) .statusCode(_httpRes.statusCode()) .rawResponse(_httpRes); StartAllTasksResponse _res = _resBuilder.build(); if (Utils.statusCodeMatches(_httpRes.statusCode(), "200")) { // no content return _res; } if (Utils.statusCodeMatches(_httpRes.statusCode(), "400")) { if (Utils.contentTypeMatches(_contentType, "application/json")) { StartAllTasksBadRequest _out = Utils.mapper().readValue( Utils.toUtf8AndClose(_httpRes.body()), new TypeReference() {}); _out.withRawResponse(Optional.ofNullable(_httpRes)); throw _out; } else { throw new SDKError( _httpRes, _httpRes.statusCode(), "Unexpected content-type received: " + _contentType, Utils.extractByteArrayFromBody(_httpRes)); } } if (Utils.statusCodeMatches(_httpRes.statusCode(), "401")) { if (Utils.contentTypeMatches(_contentType, "application/json")) { StartAllTasksUnauthorized _out = Utils.mapper().readValue( Utils.toUtf8AndClose(_httpRes.body()), new TypeReference() {}); _out.withRawResponse(Optional.ofNullable(_httpRes)); throw _out; } else { throw new SDKError( _httpRes, _httpRes.statusCode(), "Unexpected content-type received: " + _contentType, Utils.extractByteArrayFromBody(_httpRes)); } } if (Utils.statusCodeMatches(_httpRes.statusCode(), "4XX")) { // no content throw new SDKError( _httpRes, _httpRes.statusCode(), "API error occurred", Utils.extractByteArrayFromBody(_httpRes)); } if (Utils.statusCodeMatches(_httpRes.statusCode(), "5XX")) { // no content throw new SDKError( _httpRes, _httpRes.statusCode(), "API error occurred", Utils.extractByteArrayFromBody(_httpRes)); } throw new SDKError( _httpRes, _httpRes.statusCode(), "Unexpected status code received: " + _httpRes.statusCode(), Utils.extractByteArrayFromBody(_httpRes)); } /** * Stop all Butler tasks * *

This endpoint will stop all currently running tasks and remove any scheduled tasks from the queue. * * @return The call builder */ public StopAllTasksRequestBuilder stopAllTasks() { return new StopAllTasksRequestBuilder(this); } /** * Stop all Butler tasks * *

This endpoint will stop all currently running tasks and remove any scheduled tasks from the queue. * * @return The response from the API call * @throws Exception if the API call fails */ public StopAllTasksResponse stopAllTasksDirect() throws Exception { String _baseUrl = Utils.templateUrl( this.sdkConfiguration.serverUrl(), this.sdkConfiguration.getServerVariableDefaults()); String _url = Utils.generateURL( _baseUrl, "/butler"); HTTPRequest _req = new HTTPRequest(_url, "DELETE"); _req.addHeader("Accept", "application/json") .addHeader("user-agent", SDKConfiguration.USER_AGENT); Optional _hookSecuritySource = Optional.of(this.sdkConfiguration.securitySource()); Utils.configureSecurity(_req, this.sdkConfiguration.securitySource().getSecurity()); HTTPClient _client = this.sdkConfiguration.client(); HttpRequest _r = sdkConfiguration.hooks() .beforeRequest( new BeforeRequestContextImpl( this.sdkConfiguration, _baseUrl, "stopAllTasks", Optional.of(List.of()), _hookSecuritySource), _req.build()); HttpResponse _httpRes; try { _httpRes = _client.send(_r); if (Utils.statusCodeMatches(_httpRes.statusCode(), "400", "401", "4XX", "5XX")) { _httpRes = sdkConfiguration.hooks() .afterError( new AfterErrorContextImpl( this.sdkConfiguration, _baseUrl, "stopAllTasks", Optional.of(List.of()), _hookSecuritySource), Optional.of(_httpRes), Optional.empty()); } else { _httpRes = sdkConfiguration.hooks() .afterSuccess( new AfterSuccessContextImpl( this.sdkConfiguration, _baseUrl, "stopAllTasks", Optional.of(List.of()), _hookSecuritySource), _httpRes); } } catch (Exception _e) { _httpRes = sdkConfiguration.hooks() .afterError( new AfterErrorContextImpl( this.sdkConfiguration, _baseUrl, "stopAllTasks", Optional.of(List.of()), _hookSecuritySource), Optional.empty(), Optional.of(_e)); } String _contentType = _httpRes .headers() .firstValue("Content-Type") .orElse("application/octet-stream"); StopAllTasksResponse.Builder _resBuilder = StopAllTasksResponse .builder() .contentType(_contentType) .statusCode(_httpRes.statusCode()) .rawResponse(_httpRes); StopAllTasksResponse _res = _resBuilder.build(); if (Utils.statusCodeMatches(_httpRes.statusCode(), "200")) { // no content return _res; } if (Utils.statusCodeMatches(_httpRes.statusCode(), "400")) { if (Utils.contentTypeMatches(_contentType, "application/json")) { StopAllTasksBadRequest _out = Utils.mapper().readValue( Utils.toUtf8AndClose(_httpRes.body()), new TypeReference() {}); _out.withRawResponse(Optional.ofNullable(_httpRes)); throw _out; } else { throw new SDKError( _httpRes, _httpRes.statusCode(), "Unexpected content-type received: " + _contentType, Utils.extractByteArrayFromBody(_httpRes)); } } if (Utils.statusCodeMatches(_httpRes.statusCode(), "401")) { if (Utils.contentTypeMatches(_contentType, "application/json")) { StopAllTasksUnauthorized _out = Utils.mapper().readValue( Utils.toUtf8AndClose(_httpRes.body()), new TypeReference() {}); _out.withRawResponse(Optional.ofNullable(_httpRes)); throw _out; } else { throw new SDKError( _httpRes, _httpRes.statusCode(), "Unexpected content-type received: " + _contentType, Utils.extractByteArrayFromBody(_httpRes)); } } if (Utils.statusCodeMatches(_httpRes.statusCode(), "4XX")) { // no content throw new SDKError( _httpRes, _httpRes.statusCode(), "API error occurred", Utils.extractByteArrayFromBody(_httpRes)); } if (Utils.statusCodeMatches(_httpRes.statusCode(), "5XX")) { // no content throw new SDKError( _httpRes, _httpRes.statusCode(), "API error occurred", Utils.extractByteArrayFromBody(_httpRes)); } throw new SDKError( _httpRes, _httpRes.statusCode(), "Unexpected status code received: " + _httpRes.statusCode(), Utils.extractByteArrayFromBody(_httpRes)); } /** * Start a single Butler task * *

This endpoint will attempt to start a single Butler task that is enabled in the settings. Butler tasks normally run automatically during a time window configured on the server's Settings page but can be manually started using this endpoint. Tasks will run with the following criteria: * 1. Any tasks not scheduled to run on the current day will be skipped. * 2. If a task is configured to run at a random time during the configured window and we are outside that window, the task will start immediately. * 3. If a task is configured to run at a random time during the configured window and we are within that window, the task will be scheduled at a random time within the window. * 4. If we are outside the configured window, the task will start immediately. * * @return The call builder */ public StartTaskRequestBuilder startTask() { return new StartTaskRequestBuilder(this); } /** * Start a single Butler task * *

This endpoint will attempt to start a single Butler task that is enabled in the settings. Butler tasks normally run automatically during a time window configured on the server's Settings page but can be manually started using this endpoint. Tasks will run with the following criteria: * 1. Any tasks not scheduled to run on the current day will be skipped. * 2. If a task is configured to run at a random time during the configured window and we are outside that window, the task will start immediately. * 3. If a task is configured to run at a random time during the configured window and we are within that window, the task will be scheduled at a random time within the window. * 4. If we are outside the configured window, the task will start immediately. * * @param taskName the name of the task to be started. * @return The response from the API call * @throws Exception if the API call fails */ public StartTaskResponse startTask( TaskName taskName) throws Exception { StartTaskRequest request = StartTaskRequest .builder() .taskName(taskName) .build(); String _baseUrl = Utils.templateUrl( this.sdkConfiguration.serverUrl(), this.sdkConfiguration.getServerVariableDefaults()); String _url = Utils.generateURL( StartTaskRequest.class, _baseUrl, "/butler/{taskName}", request, null); HTTPRequest _req = new HTTPRequest(_url, "POST"); _req.addHeader("Accept", "application/json") .addHeader("user-agent", SDKConfiguration.USER_AGENT); Optional _hookSecuritySource = Optional.of(this.sdkConfiguration.securitySource()); Utils.configureSecurity(_req, this.sdkConfiguration.securitySource().getSecurity()); HTTPClient _client = this.sdkConfiguration.client(); HttpRequest _r = sdkConfiguration.hooks() .beforeRequest( new BeforeRequestContextImpl( this.sdkConfiguration, _baseUrl, "startTask", Optional.of(List.of()), _hookSecuritySource), _req.build()); HttpResponse _httpRes; try { _httpRes = _client.send(_r); if (Utils.statusCodeMatches(_httpRes.statusCode(), "400", "401", "4XX", "5XX")) { _httpRes = sdkConfiguration.hooks() .afterError( new AfterErrorContextImpl( this.sdkConfiguration, _baseUrl, "startTask", Optional.of(List.of()), _hookSecuritySource), Optional.of(_httpRes), Optional.empty()); } else { _httpRes = sdkConfiguration.hooks() .afterSuccess( new AfterSuccessContextImpl( this.sdkConfiguration, _baseUrl, "startTask", Optional.of(List.of()), _hookSecuritySource), _httpRes); } } catch (Exception _e) { _httpRes = sdkConfiguration.hooks() .afterError( new AfterErrorContextImpl( this.sdkConfiguration, _baseUrl, "startTask", Optional.of(List.of()), _hookSecuritySource), Optional.empty(), Optional.of(_e)); } String _contentType = _httpRes .headers() .firstValue("Content-Type") .orElse("application/octet-stream"); StartTaskResponse.Builder _resBuilder = StartTaskResponse .builder() .contentType(_contentType) .statusCode(_httpRes.statusCode()) .rawResponse(_httpRes); StartTaskResponse _res = _resBuilder.build(); if (Utils.statusCodeMatches(_httpRes.statusCode(), "200", "202")) { // no content return _res; } if (Utils.statusCodeMatches(_httpRes.statusCode(), "400")) { if (Utils.contentTypeMatches(_contentType, "application/json")) { StartTaskBadRequest _out = Utils.mapper().readValue( Utils.toUtf8AndClose(_httpRes.body()), new TypeReference() {}); _out.withRawResponse(Optional.ofNullable(_httpRes)); throw _out; } else { throw new SDKError( _httpRes, _httpRes.statusCode(), "Unexpected content-type received: " + _contentType, Utils.extractByteArrayFromBody(_httpRes)); } } if (Utils.statusCodeMatches(_httpRes.statusCode(), "401")) { if (Utils.contentTypeMatches(_contentType, "application/json")) { StartTaskUnauthorized _out = Utils.mapper().readValue( Utils.toUtf8AndClose(_httpRes.body()), new TypeReference() {}); _out.withRawResponse(Optional.ofNullable(_httpRes)); throw _out; } else { throw new SDKError( _httpRes, _httpRes.statusCode(), "Unexpected content-type received: " + _contentType, Utils.extractByteArrayFromBody(_httpRes)); } } if (Utils.statusCodeMatches(_httpRes.statusCode(), "4XX")) { // no content throw new SDKError( _httpRes, _httpRes.statusCode(), "API error occurred", Utils.extractByteArrayFromBody(_httpRes)); } if (Utils.statusCodeMatches(_httpRes.statusCode(), "5XX")) { // no content throw new SDKError( _httpRes, _httpRes.statusCode(), "API error occurred", Utils.extractByteArrayFromBody(_httpRes)); } throw new SDKError( _httpRes, _httpRes.statusCode(), "Unexpected status code received: " + _httpRes.statusCode(), Utils.extractByteArrayFromBody(_httpRes)); } /** * Stop a single Butler task * *

This endpoint will stop a currently running task by name, or remove it from the list of scheduled tasks if it exists. See the section above for a list of task names for this endpoint. * * @return The call builder */ public StopTaskRequestBuilder stopTask() { return new StopTaskRequestBuilder(this); } /** * Stop a single Butler task * *

This endpoint will stop a currently running task by name, or remove it from the list of scheduled tasks if it exists. See the section above for a list of task names for this endpoint. * * @param taskName The name of the task to be started. * @return The response from the API call * @throws Exception if the API call fails */ public StopTaskResponse stopTask( PathParamTaskName taskName) throws Exception { StopTaskRequest request = StopTaskRequest .builder() .taskName(taskName) .build(); String _baseUrl = Utils.templateUrl( this.sdkConfiguration.serverUrl(), this.sdkConfiguration.getServerVariableDefaults()); String _url = Utils.generateURL( StopTaskRequest.class, _baseUrl, "/butler/{taskName}", request, null); HTTPRequest _req = new HTTPRequest(_url, "DELETE"); _req.addHeader("Accept", "application/json") .addHeader("user-agent", SDKConfiguration.USER_AGENT); Optional _hookSecuritySource = Optional.of(this.sdkConfiguration.securitySource()); Utils.configureSecurity(_req, this.sdkConfiguration.securitySource().getSecurity()); HTTPClient _client = this.sdkConfiguration.client(); HttpRequest _r = sdkConfiguration.hooks() .beforeRequest( new BeforeRequestContextImpl( this.sdkConfiguration, _baseUrl, "stopTask", Optional.of(List.of()), _hookSecuritySource), _req.build()); HttpResponse _httpRes; try { _httpRes = _client.send(_r); if (Utils.statusCodeMatches(_httpRes.statusCode(), "400", "401", "404", "4XX", "5XX")) { _httpRes = sdkConfiguration.hooks() .afterError( new AfterErrorContextImpl( this.sdkConfiguration, _baseUrl, "stopTask", Optional.of(List.of()), _hookSecuritySource), Optional.of(_httpRes), Optional.empty()); } else { _httpRes = sdkConfiguration.hooks() .afterSuccess( new AfterSuccessContextImpl( this.sdkConfiguration, _baseUrl, "stopTask", Optional.of(List.of()), _hookSecuritySource), _httpRes); } } catch (Exception _e) { _httpRes = sdkConfiguration.hooks() .afterError( new AfterErrorContextImpl( this.sdkConfiguration, _baseUrl, "stopTask", Optional.of(List.of()), _hookSecuritySource), Optional.empty(), Optional.of(_e)); } String _contentType = _httpRes .headers() .firstValue("Content-Type") .orElse("application/octet-stream"); StopTaskResponse.Builder _resBuilder = StopTaskResponse .builder() .contentType(_contentType) .statusCode(_httpRes.statusCode()) .rawResponse(_httpRes); StopTaskResponse _res = _resBuilder.build(); if (Utils.statusCodeMatches(_httpRes.statusCode(), "200")) { // no content return _res; } if (Utils.statusCodeMatches(_httpRes.statusCode(), "400")) { if (Utils.contentTypeMatches(_contentType, "application/json")) { StopTaskBadRequest _out = Utils.mapper().readValue( Utils.toUtf8AndClose(_httpRes.body()), new TypeReference() {}); _out.withRawResponse(Optional.ofNullable(_httpRes)); throw _out; } else { throw new SDKError( _httpRes, _httpRes.statusCode(), "Unexpected content-type received: " + _contentType, Utils.extractByteArrayFromBody(_httpRes)); } } if (Utils.statusCodeMatches(_httpRes.statusCode(), "401")) { if (Utils.contentTypeMatches(_contentType, "application/json")) { StopTaskUnauthorized _out = Utils.mapper().readValue( Utils.toUtf8AndClose(_httpRes.body()), new TypeReference() {}); _out.withRawResponse(Optional.ofNullable(_httpRes)); throw _out; } else { throw new SDKError( _httpRes, _httpRes.statusCode(), "Unexpected content-type received: " + _contentType, Utils.extractByteArrayFromBody(_httpRes)); } } if (Utils.statusCodeMatches(_httpRes.statusCode(), "404", "4XX")) { // no content throw new SDKError( _httpRes, _httpRes.statusCode(), "API error occurred", Utils.extractByteArrayFromBody(_httpRes)); } if (Utils.statusCodeMatches(_httpRes.statusCode(), "5XX")) { // no content throw new SDKError( _httpRes, _httpRes.statusCode(), "API error occurred", Utils.extractByteArrayFromBody(_httpRes)); } throw new SDKError( _httpRes, _httpRes.statusCode(), "Unexpected status code received: " + _httpRes.statusCode(), Utils.extractByteArrayFromBody(_httpRes)); } }