refactor: improve codegen to support influx query rewrite (#60)

* build: add goimports to fmt target to remove unused imports
* feat: update codegen template to support returning raw response body
* feat: add support for gunzip-ing response bodies
* refactor: remove unused piece from codegen return values
This commit is contained in:
Daniel Moran
2021-05-05 10:30:22 -04:00
committed by GitHub
parent 7eca7c0bb9
commit f95668ada6
28 changed files with 836 additions and 519 deletions

View File

@ -11,8 +11,9 @@
package api
import (
"bytes"
_gzip "compress/gzip"
_context "context"
_io "io"
_ioutil "io/ioutil"
_nethttp "net/http"
_neturl "net/url"
@ -37,7 +38,7 @@ type SetupApi interface {
* GetSetupExecute executes the request
* @return InlineResponse200
*/
GetSetupExecute(r ApiGetSetupRequest) (InlineResponse200, *_nethttp.Response, error)
GetSetupExecute(r ApiGetSetupRequest) (InlineResponse200, error)
/*
* PostSetup Set up initial user, org and bucket
@ -51,7 +52,23 @@ type SetupApi interface {
* PostSetupExecute executes the request
* @return OnboardingResponse
*/
PostSetupExecute(r ApiPostSetupRequest) (OnboardingResponse, *_nethttp.Response, error)
PostSetupExecute(r ApiPostSetupRequest) (OnboardingResponse, error)
}
// setupApiGzipReadCloser supports streaming gzip response-bodies directly from the server.
type setupApiGzipReadCloser struct {
underlying _io.ReadCloser
gzip _io.ReadCloser
}
func (gzrc *setupApiGzipReadCloser) Read(p []byte) (int, error) {
return gzrc.gzip.Read(p)
}
func (gzrc *setupApiGzipReadCloser) Close() error {
if err := gzrc.gzip.Close(); err != nil {
return err
}
return gzrc.underlying.Close()
}
// SetupApiService SetupApi service
@ -71,7 +88,7 @@ func (r ApiGetSetupRequest) GetZapTraceSpan() *string {
return r.zapTraceSpan
}
func (r ApiGetSetupRequest) Execute() (InlineResponse200, *_nethttp.Response, error) {
func (r ApiGetSetupRequest) Execute() (InlineResponse200, error) {
return r.ApiService.GetSetupExecute(r)
}
@ -92,7 +109,7 @@ func (a *SetupApiService) GetSetup(ctx _context.Context) ApiGetSetupRequest {
* Execute executes the request
* @return InlineResponse200
*/
func (a *SetupApiService) GetSetupExecute(r ApiGetSetupRequest) (InlineResponse200, *_nethttp.Response, error) {
func (a *SetupApiService) GetSetupExecute(r ApiGetSetupRequest) (InlineResponse200, error) {
var (
localVarHTTPMethod = _nethttp.MethodGet
localVarPostBody interface{}
@ -104,7 +121,7 @@ func (a *SetupApiService) GetSetupExecute(r ApiGetSetupRequest) (InlineResponse2
localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "SetupApiService.GetSetup")
if err != nil {
return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
return localVarReturnValue, GenericOpenAPIError{error: err.Error()}
}
localVarPath := localBasePath + "/setup"
@ -135,39 +152,52 @@ func (a *SetupApiService) GetSetupExecute(r ApiGetSetupRequest) (InlineResponse2
}
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
if err != nil {
return localVarReturnValue, nil, err
return localVarReturnValue, err
}
localVarHTTPResponse, err := a.client.callAPI(req)
if err != nil || localVarHTTPResponse == nil {
return localVarReturnValue, localVarHTTPResponse, err
return localVarReturnValue, err
}
localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
localVarHTTPResponse.Body.Close()
localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
if err != nil {
return localVarReturnValue, localVarHTTPResponse, err
var body _io.ReadCloser = localVarHTTPResponse.Body
if localVarHTTPResponse.Header.Get("Content-Encoding") == "gzip" {
gzr, err := _gzip.NewReader(body)
if err != nil {
body.Close()
return localVarReturnValue, err
}
body = &setupApiGzipReadCloser{underlying: body, gzip: gzr}
}
if localVarHTTPResponse.StatusCode >= 300 {
localVarBody, err := _ioutil.ReadAll(body)
body.Close()
if err != nil {
return localVarReturnValue, err
}
newErr := GenericOpenAPIError{
body: localVarBody,
error: localVarHTTPResponse.Status,
}
return localVarReturnValue, localVarHTTPResponse, newErr
return localVarReturnValue, newErr
}
localVarBody, err := _ioutil.ReadAll(body)
body.Close()
if err != nil {
return localVarReturnValue, err
}
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
if err != nil {
newErr := GenericOpenAPIError{
body: localVarBody,
error: err.Error(),
}
return localVarReturnValue, localVarHTTPResponse, newErr
return localVarReturnValue, newErr
}
return localVarReturnValue, localVarHTTPResponse, nil
return localVarReturnValue, nil
}
type ApiPostSetupRequest struct {
@ -193,7 +223,7 @@ func (r ApiPostSetupRequest) GetZapTraceSpan() *string {
return r.zapTraceSpan
}
func (r ApiPostSetupRequest) Execute() (OnboardingResponse, *_nethttp.Response, error) {
func (r ApiPostSetupRequest) Execute() (OnboardingResponse, error) {
return r.ApiService.PostSetupExecute(r)
}
@ -214,7 +244,7 @@ func (a *SetupApiService) PostSetup(ctx _context.Context) ApiPostSetupRequest {
* Execute executes the request
* @return OnboardingResponse
*/
func (a *SetupApiService) PostSetupExecute(r ApiPostSetupRequest) (OnboardingResponse, *_nethttp.Response, error) {
func (a *SetupApiService) PostSetupExecute(r ApiPostSetupRequest) (OnboardingResponse, error) {
var (
localVarHTTPMethod = _nethttp.MethodPost
localVarPostBody interface{}
@ -226,7 +256,7 @@ func (a *SetupApiService) PostSetupExecute(r ApiPostSetupRequest) (OnboardingRes
localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "SetupApiService.PostSetup")
if err != nil {
return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
return localVarReturnValue, GenericOpenAPIError{error: err.Error()}
}
localVarPath := localBasePath + "/setup"
@ -235,7 +265,7 @@ func (a *SetupApiService) PostSetupExecute(r ApiPostSetupRequest) (OnboardingRes
localVarQueryParams := _neturl.Values{}
localVarFormParams := _neturl.Values{}
if r.onboardingRequest == nil {
return localVarReturnValue, nil, reportError("onboardingRequest is required and must be specified")
return localVarReturnValue, reportError("onboardingRequest is required and must be specified")
}
// to determine the Content-Type header
@ -262,22 +292,30 @@ func (a *SetupApiService) PostSetupExecute(r ApiPostSetupRequest) (OnboardingRes
localVarPostBody = r.onboardingRequest
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
if err != nil {
return localVarReturnValue, nil, err
return localVarReturnValue, err
}
localVarHTTPResponse, err := a.client.callAPI(req)
if err != nil || localVarHTTPResponse == nil {
return localVarReturnValue, localVarHTTPResponse, err
return localVarReturnValue, err
}
localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
localVarHTTPResponse.Body.Close()
localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
if err != nil {
return localVarReturnValue, localVarHTTPResponse, err
var body _io.ReadCloser = localVarHTTPResponse.Body
if localVarHTTPResponse.Header.Get("Content-Encoding") == "gzip" {
gzr, err := _gzip.NewReader(body)
if err != nil {
body.Close()
return localVarReturnValue, err
}
body = &setupApiGzipReadCloser{underlying: body, gzip: gzr}
}
if localVarHTTPResponse.StatusCode >= 300 {
localVarBody, err := _ioutil.ReadAll(body)
body.Close()
if err != nil {
return localVarReturnValue, err
}
newErr := GenericOpenAPIError{
body: localVarBody,
error: localVarHTTPResponse.Status,
@ -286,20 +324,25 @@ func (a *SetupApiService) PostSetupExecute(r ApiPostSetupRequest) (OnboardingRes
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHTTPResponse, newErr
return localVarReturnValue, newErr
}
newErr.model = &v
return localVarReturnValue, localVarHTTPResponse, newErr
return localVarReturnValue, newErr
}
localVarBody, err := _ioutil.ReadAll(body)
body.Close()
if err != nil {
return localVarReturnValue, err
}
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
if err != nil {
newErr := GenericOpenAPIError{
body: localVarBody,
error: err.Error(),
}
return localVarReturnValue, localVarHTTPResponse, newErr
return localVarReturnValue, newErr
}
return localVarReturnValue, localVarHTTPResponse, nil
return localVarReturnValue, nil
}