Support downloading remote tarball contexts in builder jobs.

Signed-off-by: Moysés Borges <moysesb@gmail.com>
Upstream-commit: d48bface59ef28aedc692c1f7c51a7ddde94a7fe
Component: engine
This commit is contained in:
Moysés Borges
2015-04-04 11:54:43 -03:00
parent 7ee7a352dd
commit 265055473c
11 changed files with 522 additions and 45 deletions

View File

@ -0,0 +1,30 @@
package httputils
import (
"mime"
"net/http"
)
var MimeTypes = struct {
TextPlain string
Tar string
OctetStream string
}{"text/plain", "application/tar", "application/octet-stream"}
// DetectContentType returns a best guess representation of the MIME
// content type for the bytes at c. The value detected by
// http.DetectContentType is guaranteed not be nil, defaulting to
// application/octet-stream when a better guess cannot be made. The
// result of this detection is then run through mime.ParseMediaType()
// which separates it from any parameters.
// Note that calling this function does not advance the Reader at r
func DetectContentType(c []byte) (string, map[string]string, error) {
ct := http.DetectContentType(c)
contentType, args, err := mime.ParseMediaType(ct)
if err != nil {
return "", nil, err
}
return contentType, args, nil
}