MCPcopy Create free account
hub / github.com/brimdata/super / OpenHTTP

Method OpenHTTP

runtime/exec/environment.go:137–158  ·  view source on GitHub ↗
(ctx context.Context, sctx *super.Context, url, format, method string, headers http.Header, body io.Reader, fields []field.Path)

Source from the content-addressed store, hash-verified

135}
136
137func (e *Environment) OpenHTTP(ctx context.Context, sctx *super.Context, url, format, method string, headers http.Header, body io.Reader, fields []field.Path) (sbuf.Puller, error) {
138 req, err := http.NewRequestWithContext(ctx, method, url, body)
139 if err != nil {
140 return nil, err
141 }
142 req.Header = headers
143 resp, err := http.DefaultClient.Do(req)
144 if err != nil {
145 return nil, err
146 }
147 file, err := anyio.NewFile(sctx, resp.Body, url, e.readerOpts(fields, format))
148 if err != nil {
149 resp.Body.Close()
150 return nil, fmt.Errorf("%s: %w", url, err)
151 }
152 scanner, err := sbuf.NewScanner(ctx, file, nil)
153 if err != nil {
154 file.Close()
155 return nil, err
156 }
157 return &closePuller{scanner, file}, nil
158}
159
160type closePuller struct {
161 p sbuf.Puller

Callers 1

compileLeafMethod · 0.80

Calls 6

readerOptsMethod · 0.95
CloseMethod · 0.95
NewFileFunction · 0.92
NewScannerFunction · 0.92
DoMethod · 0.80
CloseMethod · 0.65

Tested by

no test coverage detected