MCPcopy Index your code
hub / github.com/cli/cli / GetCodespaceConnection

Function GetCodespaceConnection

internal/codespaces/codespaces.go:60–75  ·  view source on GitHub ↗

GetCodespaceConnection waits until a codespace is able to be connected to and initializes a connection to it.

(ctx context.Context, progress progressIndicator, apiClient apiClient, codespace *api.Codespace)

Source from the content-addressed store, hash-verified

58// GetCodespaceConnection waits until a codespace is able
59// to be connected to and initializes a connection to it.
60func GetCodespaceConnection(ctx context.Context, progress progressIndicator, apiClient apiClient, codespace *api.Codespace) (*connection.CodespaceConnection, error) {
61 codespace, err := waitUntilCodespaceConnectionReady(ctx, progress, apiClient, codespace)
62 if err != nil {
63 return nil, err
64 }
65
66 progress.StartProgressIndicatorWithLabel("Connecting to codespace")
67 defer progress.StopProgressIndicator()
68
69 externalHttpClient, err := apiClient.ExternalHTTPClient()
70 if err != nil {
71 return nil, fmt.Errorf("error getting http client: %w", err)
72 }
73
74 return connection.NewCodespaceConnection(ctx, codespace, externalHttpClient)
75}
76
77// waitUntilCodespaceConnectionReady waits for a Codespace to be running and is able to be connected to.
78func waitUntilCodespaceConnectionReady(ctx context.Context, progress progressIndicator, apiClient apiClient, codespace *api.Codespace) (*api.Codespace, error) {

Callers 9

LogsMethod · 0.92
RebuildMethod · 0.92
SSHMethod · 0.92
printOpenSSHConfigMethod · 0.92
JupyterMethod · 0.92
ListPortsMethod · 0.92
UpdatePortVisibilityMethod · 0.92
ForwardPortsMethod · 0.92
PollPostCreateStatesFunction · 0.85

Calls 6

NewCodespaceConnectionFunction · 0.92
StopProgressIndicatorMethod · 0.65
ExternalHTTPClientMethod · 0.65
ErrorfMethod · 0.65

Tested by

no test coverage detected