MCPcopy Index your code
hub / github.com/devspace-sh/devspace / tryOpen

Function tryOpen

pkg/devspace/devpod/devpod.go:339–374  ·  view source on GitHub ↗
(ctx context.Context, url string, log logpkg.Logger)

Source from the content-addressed store, hash-verified

337}
338
339func tryOpen(ctx context.Context, url string, log logpkg.Logger) error {
340 timeoutCtx, cancel := context.WithTimeout(ctx, time.Second)
341 defer cancel()
342
343 req, err := http.NewRequestWithContext(timeoutCtx, "GET", url, nil)
344 if err != nil {
345 return err
346 }
347
348 client := &http.Client{Transport: &http.Transport{
349 TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
350 }}
351
352 resp, err := client.Do(req)
353 if err != nil {
354 return err
355 }
356 defer func() {
357 if resp != nil {
358 resp.Body.Close()
359 }
360 }()
361
362 if resp != nil && resp.StatusCode != http.StatusBadGateway && resp.StatusCode != http.StatusServiceUnavailable {
363 select {
364 case <-ctx.Done():
365 return nil
366 case <-time.After(time.Second):
367 }
368 _ = open.Start(url)
369 log.Donef("Successfully opened %s", url)
370 return nil
371 }
372
373 return fmt.Errorf("not reachable")
374}
375
376func (d *devPod) startLogs(ctx devspacecontext.Context, devPodConfig *latest.DevPod, selectedPod *selector.SelectedPodContainer, parent *tomb.Tomb) error {
377 ctx = ctx.WithLogger(ctx.Log().WithPrefixColor("logs ", "yellow+b"))

Callers 1

startMethod · 0.85

Calls 6

WithTimeoutMethod · 0.80
CloseMethod · 0.65
DoneMethod · 0.65
StartMethod · 0.65
DonefMethod · 0.45
ErrorfMethod · 0.45

Tested by

no test coverage detected