github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/builtins/core/open/http.go (about)

     1  package open
     2  
     3  import (
     4  	"io"
     5  
     6  	"github.com/lmorg/murex/builtins/core/httpclient"
     7  	"github.com/lmorg/murex/lang"
     8  )
     9  
    10  func http(p *lang.Process, url string) (io.ReadCloser, string, error) {
    11  	resp, err := httpclient.Request(p.Context, "GET", url, nil, p.Config, true)
    12  
    13  	if err != nil {
    14  		return nil, "", err
    15  	}
    16  
    17  	dt := lang.MimeToMurex(resp.Header.Get("Content-Type"))
    18  
    19  	// TODO: insert something about content-length detection
    20  
    21  	return resp.Body, dt, nil
    22  }