/* Multiple Files via form-data This is a sample server with a single endpoint that accepts two files via a multipart/form-data POST request. API version: 1.0.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. package openapi import ( "bytes" _context "context" _ioutil "io/ioutil" _nethttp "net/http" _neturl "net/url" "os" ) // Linger please var ( _ _context.Context ) // DefaultApiService DefaultApi service type DefaultApiService service type ApiUploadFilesRequest struct { ctx _context.Context ApiService *DefaultApiService file **os.File secondFile **os.File } // file to upload func (r ApiUploadFilesRequest) File(file *os.File) ApiUploadFilesRequest { r.file = &file return r } // another file to upload func (r ApiUploadFilesRequest) SecondFile(secondFile *os.File) ApiUploadFilesRequest { r.secondFile = &secondFile return r } func (r ApiUploadFilesRequest) Execute() (ApiResponse, *_nethttp.Response, error) { return r.ApiService.UploadFilesExecute(r) } /* UploadFiles uploads two files @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @return ApiUploadFilesRequest */ func (a *DefaultApiService) UploadFiles(ctx _context.Context) ApiUploadFilesRequest { return ApiUploadFilesRequest{ ApiService: a, ctx: ctx, } } // Execute executes the request // @return ApiResponse func (a *DefaultApiService) UploadFilesExecute(r ApiUploadFilesRequest) (ApiResponse, *_nethttp.Response, error) { var ( localVarHTTPMethod = _nethttp.MethodPost localVarPostBody interface{} formFiles []formFile localVarReturnValue ApiResponse ) localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.UploadFiles") if err != nil { return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()} } localVarPath := localBasePath + "/uploadFiles" localVarHeaderParams := make(map[string]string) localVarQueryParams := _neturl.Values{} localVarFormParams := _neturl.Values{} // to determine the Content-Type header localVarHTTPContentTypes := []string{"multipart/form-data"} // set Content-Type header localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) if localVarHTTPContentType != "" { localVarHeaderParams["Content-Type"] = localVarHTTPContentType } // to determine the Accept header localVarHTTPHeaderAccepts := []string{"application/json"} // set Accept header localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) if localVarHTTPHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept } var fileLocalVarFormFileName string var fileLocalVarFileName string var fileLocalVarFileBytes []byte fileLocalVarFormFileName = "file" var fileLocalVarFile *os.File if r.file != nil { fileLocalVarFile = *r.file } if fileLocalVarFile != nil { fbs, _ := _ioutil.ReadAll(fileLocalVarFile) fileLocalVarFileBytes = fbs fileLocalVarFileName = fileLocalVarFile.Name() fileLocalVarFile.Close() } formFiles = append(formFiles, formFile{fileBytes: fileLocalVarFileBytes, fileName: fileLocalVarFileName, formFileName: fileLocalVarFormFileName}) var secondFileLocalVarFormFileName string var secondFileLocalVarFileName string var secondFileLocalVarFileBytes []byte secondFileLocalVarFormFileName = "secondFile" var secondFileLocalVarFile *os.File if r.secondFile != nil { secondFileLocalVarFile = *r.secondFile } if secondFileLocalVarFile != nil { fbs, _ := _ioutil.ReadAll(secondFileLocalVarFile) secondFileLocalVarFileBytes = fbs secondFileLocalVarFileName = secondFileLocalVarFile.Name() secondFileLocalVarFile.Close() } formFiles = append(formFiles, formFile{fileBytes: secondFileLocalVarFileBytes, fileName: secondFileLocalVarFileName, formFileName: secondFileLocalVarFormFileName}) req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) if err != nil { return localVarReturnValue, nil, err } localVarHTTPResponse, err := a.client.callAPI(req) if err != nil || localVarHTTPResponse == nil { return localVarReturnValue, localVarHTTPResponse, err } localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body) localVarHTTPResponse.Body.Close() localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody)) if err != nil { return localVarReturnValue, localVarHTTPResponse, err } if localVarHTTPResponse.StatusCode >= 300 { newErr := GenericOpenAPIError{ body: localVarBody, error: localVarHTTPResponse.Status, } return localVarReturnValue, localVarHTTPResponse, newErr } 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, localVarHTTPResponse, nil }