github.com/spinnaker/spin@v1.30.0/gateapi/api_plugin_publish_controller.go (about) 1 2 /* 3 * Spinnaker API 4 * 5 * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 6 * 7 * API version: 1.0.0 8 * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 9 */ 10 11 package swagger 12 13 import ( 14 "context" 15 "io/ioutil" 16 "net/http" 17 "net/url" 18 "strings" 19 "fmt" 20 "os" 21 ) 22 23 // Linger please 24 var ( 25 _ context.Context 26 ) 27 28 type PluginPublishControllerApiService service 29 30 /* 31 PluginPublishControllerApiService Publish a plugin binary and the plugin info metadata. 32 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 33 * @param plugin plugin 34 * @param pluginId pluginId 35 * @param pluginInfo pluginInfo 36 * @param pluginVersion pluginVersion 37 38 39 */ 40 func (a *PluginPublishControllerApiService) PublishPluginUsingPOST(ctx context.Context, plugin *os.File, pluginId string, pluginInfo interface{}, pluginVersion string) (*http.Response, error) { 41 var ( 42 localVarHttpMethod = strings.ToUpper("Post") 43 localVarPostBody interface{} 44 localVarFileName string 45 localVarFileBytes []byte 46 47 ) 48 49 // create path and map variables 50 localVarPath := a.client.cfg.BasePath + "/plugins/publish/{pluginId}/{pluginVersion}" 51 localVarPath = strings.Replace(localVarPath, "{"+"pluginId"+"}", fmt.Sprintf("%v", pluginId), -1) 52 localVarPath = strings.Replace(localVarPath, "{"+"pluginVersion"+"}", fmt.Sprintf("%v", pluginVersion), -1) 53 54 localVarHeaderParams := make(map[string]string) 55 localVarQueryParams := url.Values{} 56 localVarFormParams := url.Values{} 57 58 // to determine the Content-Type header 59 localVarHttpContentTypes := []string{"multipart/form-data"} 60 61 // set Content-Type header 62 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 63 if localVarHttpContentType != "" { 64 localVarHeaderParams["Content-Type"] = localVarHttpContentType 65 } 66 67 // to determine the Accept header 68 localVarHttpHeaderAccepts := []string{"*/*"} 69 70 // set Accept header 71 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 72 if localVarHttpHeaderAccept != "" { 73 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 74 } 75 localVarFile := plugin 76 if localVarFile != nil { 77 fbs, _ := ioutil.ReadAll(localVarFile) 78 localVarFileBytes = fbs 79 localVarFileName = localVarFile.Name() 80 localVarFile.Close() 81 } 82 localVarFormParams.Add("pluginInfo", parameterToString(pluginInfo, "")) 83 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 84 if err != nil { 85 return nil, err 86 } 87 88 localVarHttpResponse, err := a.client.callAPI(r) 89 if err != nil || localVarHttpResponse == nil { 90 return localVarHttpResponse, err 91 } 92 93 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 94 localVarHttpResponse.Body.Close() 95 if err != nil { 96 return localVarHttpResponse, err 97 } 98 99 100 if localVarHttpResponse.StatusCode >= 300 { 101 newErr := GenericSwaggerError{ 102 body: localVarBody, 103 error: localVarHttpResponse.Status, 104 } 105 106 return localVarHttpResponse, newErr 107 } 108 109 return localVarHttpResponse, nil 110 }