| package client | |
| import ( | |
| "context" | |
| "io" | |
| "net/http" | |
| "net/url" | |
| ) | |
| // PluginCreateOptions hold all options to plugin create. | |
| type PluginCreateOptions struct { | |
| RepoName string | |
| } | |
| // PluginCreateResult represents the result of a plugin create operation. | |
| type PluginCreateResult struct { | |
| // Currently empty; can be extended in the future if needed. | |
| } | |
| // PluginCreate creates a plugin | |
| func (cli *Client) PluginCreate(ctx context.Context, createContext io.Reader, createOptions PluginCreateOptions) (PluginCreateResult, error) { | |
| headers := http.Header(make(map[string][]string)) | |
| headers.Set("Content-Type", "application/x-tar") | |
| query := url.Values{} | |
| query.Set("name", createOptions.RepoName) | |
| resp, err := cli.postRaw(ctx, "/plugins/create", query, createContext, headers) | |
| defer ensureReaderClosed(resp) | |
| return PluginCreateResult{}, err | |
| } |