MCPcopy
hub / github.com/cli/cli / UpdatePortVisibility

Method UpdatePortVisibility

pkg/cmd/codespace/ports.go:233–275  ·  view source on GitHub ↗
(ctx context.Context, selector *CodespaceSelector, args []string)

Source from the content-addressed store, hash-verified

231}
232
233func (a *App) UpdatePortVisibility(ctx context.Context, selector *CodespaceSelector, args []string) (err error) {
234 ports, err := a.parsePortVisibilities(args)
235 if err != nil {
236 return fmt.Errorf("error parsing port arguments: %w", err)
237 }
238
239 codespace, err := selector.Select(ctx)
240 if err != nil {
241 return err
242 }
243
244 codespaceConnection, err := codespaces.GetCodespaceConnection(ctx, a, a.apiClient, codespace)
245 if err != nil {
246 return fmt.Errorf("error connecting to codespace: %w", err)
247 }
248
249 fwd, err := portforwarder.NewPortForwarder(ctx, codespaceConnection)
250 if err != nil {
251 return fmt.Errorf("failed to create port forwarder: %w", err)
252 }
253 defer safeClose(fwd, &err)
254
255 // TODO: check if port visibility can be updated in parallel instead of sequentially
256 for _, port := range ports {
257 err := a.RunWithProgress(fmt.Sprintf("Updating port %d visibility to: %s", port.number, port.visibility), func() (err error) {
258 // wait for success or failure
259 ctx, cancel := context.WithTimeout(ctx, 30*time.Second)
260 defer cancel()
261
262 err = fwd.UpdatePortVisibility(ctx, port.number, port.visibility)
263 if err != nil {
264 return fmt.Errorf("error updating port %d to %s: %w", port.number, port.visibility, err)
265 }
266 return nil
267 })
268 if err != nil {
269 return err
270 }
271
272 }
273
274 return nil
275}
276
277type portVisibility struct {
278 number int

Callers 1

runUpdateVisibilityTestFunction · 0.95

Calls 8

parsePortVisibilitiesMethod · 0.95
RunWithProgressMethod · 0.95
UpdatePortVisibilityMethod · 0.95
GetCodespaceConnectionFunction · 0.92
NewPortForwarderFunction · 0.92
safeCloseFunction · 0.70
ErrorfMethod · 0.65
SelectMethod · 0.65

Tested by 1

runUpdateVisibilityTestFunction · 0.76