github.com/antihax/goesi@v0.0.0-20240126031043-6c54d0cb7f95/esi/api_incursions.go (about)

     1  /*
     2   * EVE Swagger Interface
     3   *
     4   * An OpenAPI for EVE Online
     5   *
     6   * OpenAPI spec version: 1.21
     7   *
     8   * Generated by: https://github.com/swagger-api/swagger-codegen.git
     9   *
    10   * Licensed under the Apache License, Version 2.0 (the "License");
    11   * you may not use this file except in compliance with the License.
    12   * You may obtain a copy of the License at
    13   *
    14   *      http://www.apache.org/licenses/LICENSE-2.0
    15   *
    16   * Unless required by applicable law or agreed to in writing, software
    17   * distributed under the License is distributed on an "AS IS" BASIS,
    18   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    19   * See the License for the specific language governing permissions and
    20   * limitations under the License.
    21   */
    22  
    23  package esi
    24  
    25  import (
    26  	"context"
    27  	"io/ioutil"
    28  	"net/http"
    29  	"net/url"
    30  	"strings"
    31  
    32  	"github.com/antihax/goesi/optional"
    33  )
    34  
    35  // Linger please
    36  var (
    37  	_ context.Context
    38  )
    39  
    40  type IncursionsApiService service
    41  
    42  /*
    43  IncursionsApiService List incursions
    44  Return a list of current incursions  ---  This route is cached for up to 300 seconds
    45   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    46   * @param optional nil or *GetIncursionsOpts - Optional Parameters:
    47       * @param "Datasource" (optional.String) -  The server name you would like data from
    48       * @param "IfNoneMatch" (optional.String) -  ETag from a previous request. A 304 will be returned if this matches the current ETag
    49  
    50  @return []GetIncursions200Ok
    51  */
    52  
    53  type GetIncursionsOpts struct {
    54  	Datasource  optional.String
    55  	IfNoneMatch optional.String
    56  }
    57  
    58  func (a *IncursionsApiService) GetIncursions(ctx context.Context, localVarOptionals *GetIncursionsOpts) ([]GetIncursions200Ok, *http.Response, error) {
    59  	var (
    60  		localVarHttpMethod  = strings.ToUpper("Get")
    61  		localVarPostBody    interface{}
    62  		localVarFileName    string
    63  		localVarFileBytes   []byte
    64  		localVarReturnValue GetIncursions200OkList
    65  	)
    66  
    67  	// create path and map variables
    68  	localVarPath := a.client.basePath + "/v1/incursions/"
    69  
    70  	localVarHeaderParams := make(map[string]string)
    71  	localVarQueryParams := url.Values{}
    72  	localVarFormParams := url.Values{}
    73  
    74  	if localVarOptionals != nil && localVarOptionals.Datasource.IsSet() {
    75  		localVarQueryParams.Add("datasource", parameterToString(localVarOptionals.Datasource.Value(), ""))
    76  	}
    77  	// to determine the Content-Type header
    78  	localVarHttpContentTypes := []string{"application/json"}
    79  
    80  	// set Content-Type header
    81  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    82  	if localVarHttpContentType != "" {
    83  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    84  	}
    85  
    86  	// to determine the Accept header
    87  	localVarHttpHeaderAccepts := []string{"application/json"}
    88  
    89  	// set Accept header
    90  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    91  	if localVarHttpHeaderAccept != "" {
    92  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    93  	}
    94  	if localVarOptionals != nil && localVarOptionals.IfNoneMatch.IsSet() {
    95  		localVarHeaderParams["If-None-Match"] = parameterToString(localVarOptionals.IfNoneMatch.Value(), "")
    96  	}
    97  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
    98  	if err != nil {
    99  		return localVarReturnValue, nil, err
   100  	}
   101  
   102  	localVarHttpResponse, err := a.client.callAPI(r)
   103  	if err != nil || localVarHttpResponse == nil {
   104  		return localVarReturnValue, localVarHttpResponse, err
   105  	}
   106  
   107  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   108  	localVarHttpResponse.Body.Close()
   109  	if err != nil {
   110  		return localVarReturnValue, localVarHttpResponse, err
   111  	}
   112  
   113  	if localVarHttpResponse.StatusCode < 400 {
   114  		// If we succeed, return the data, otherwise pass on to decode error.
   115  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   116  		if err == nil {
   117  			return localVarReturnValue, localVarHttpResponse, err
   118  		}
   119  	}
   120  
   121  	if localVarHttpResponse.StatusCode >= 400 {
   122  		newErr := GenericSwaggerError{
   123  			body:  localVarBody,
   124  			error: localVarHttpResponse.Status,
   125  		}
   126  
   127  		if localVarHttpResponse.StatusCode == 200 {
   128  			var v []GetIncursions200Ok
   129  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   130  			if err != nil {
   131  				newErr.error = err.Error()
   132  				return localVarReturnValue, localVarHttpResponse, newErr
   133  			}
   134  			newErr.model = v
   135  			return localVarReturnValue, localVarHttpResponse, newErr
   136  		}
   137  
   138  		if localVarHttpResponse.StatusCode == 400 {
   139  			var v BadRequest
   140  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   141  			if err != nil {
   142  				newErr.error = err.Error()
   143  				return localVarReturnValue, localVarHttpResponse, newErr
   144  			}
   145  			newErr.model = v
   146  			return localVarReturnValue, localVarHttpResponse, newErr
   147  		}
   148  
   149  		if localVarHttpResponse.StatusCode == 420 {
   150  			var v ErrorLimited
   151  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   152  			if err != nil {
   153  				newErr.error = err.Error()
   154  				return localVarReturnValue, localVarHttpResponse, newErr
   155  			}
   156  			newErr.model = v
   157  			return localVarReturnValue, localVarHttpResponse, newErr
   158  		}
   159  
   160  		if localVarHttpResponse.StatusCode == 500 {
   161  			var v InternalServerError
   162  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   163  			if err != nil {
   164  				newErr.error = err.Error()
   165  				return localVarReturnValue, localVarHttpResponse, newErr
   166  			}
   167  			newErr.model = v
   168  			return localVarReturnValue, localVarHttpResponse, newErr
   169  		}
   170  
   171  		if localVarHttpResponse.StatusCode == 503 {
   172  			var v ServiceUnavailable
   173  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   174  			if err != nil {
   175  				newErr.error = err.Error()
   176  				return localVarReturnValue, localVarHttpResponse, newErr
   177  			}
   178  			newErr.model = v
   179  			return localVarReturnValue, localVarHttpResponse, newErr
   180  		}
   181  
   182  		if localVarHttpResponse.StatusCode == 504 {
   183  			var v GatewayTimeout
   184  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   185  			if err != nil {
   186  				newErr.error = err.Error()
   187  				return localVarReturnValue, localVarHttpResponse, newErr
   188  			}
   189  			newErr.model = v
   190  			return localVarReturnValue, localVarHttpResponse, newErr
   191  		}
   192  
   193  		return localVarReturnValue, localVarHttpResponse, newErr
   194  	}
   195  
   196  	return localVarReturnValue, localVarHttpResponse, nil
   197  }