// fromHTTP panics with an httputil value on failure func (r *WithAttrRequest) fromHTTP(req *http.Request) { r.Signer = blob.ParseOrZero(req.FormValue("signer")) r.Value = req.FormValue("value") fuzzy := req.FormValue("fuzzy") // exact match if empty fuzzyMatch := false if fuzzy != "" { lowered := strings.ToLower(fuzzy) if lowered == "true" || lowered == "t" { fuzzyMatch = true } } r.Attr = req.FormValue("attr") // all attributes if empty if r.Attr == "" { // and force fuzzy in that case. fuzzyMatch = true } r.Fuzzy = fuzzyMatch r.ThumbnailSize = thumbnailSize(req) max := req.FormValue("max") if max != "" { maxR, err := strconv.Atoi(max) if err != nil { panic(httputil.InvalidParameterError("max")) } r.N = maxR } r.N = r.n() }
// fromHTTP panics with an httputil value on failure func (r *WithAttrRequest) fromHTTP(req *http.Request) { r.Signer = httputil.MustGetBlobRef(req, "signer") r.Value = req.FormValue("value") fuzzy := req.FormValue("fuzzy") // exact match if empty fuzzyMatch := false if fuzzy != "" { lowered := strings.ToLower(fuzzy) if lowered == "true" || lowered == "t" { fuzzyMatch = true } } r.Attr = req.FormValue("attr") // all attributes if empty if r.Attr == "" { // and force fuzzy in that case. fuzzyMatch = true } r.Fuzzy = fuzzyMatch maxResults := maxPermanodes max := req.FormValue("max") if max != "" { maxR, err := strconv.Atoi(max) if err != nil { panic(httputil.InvalidParameterError("max")) } if maxR < maxResults { maxResults = maxR } } r.N = maxResults }
// fromHTTP panics with an httputil value on failure func (r *DescribeRequest) fromHTTP(req *http.Request) { req.ParseForm() if vv := req.Form["blobref"]; len(vv) > 1 { for _, brs := range vv { if br, ok := blob.Parse(brs); ok { r.BlobRefs = append(r.BlobRefs, br) } else { panic(httputil.InvalidParameterError("blobref")) } } } else { r.BlobRef = httputil.MustGetBlobRef(req, "blobref") } r.Depth = httputil.OptionalInt(req, "depth") }
func (r *DescribeRequest) fromHTTPGet(req *http.Request) { req.ParseForm() if vv := req.Form["blobref"]; len(vv) > 1 { for _, brs := range vv { if br, ok := blob.Parse(brs); ok { r.BlobRefs = append(r.BlobRefs, br) } else { panic(httputil.InvalidParameterError("blobref")) } } } else { r.BlobRef = httputil.MustGetBlobRef(req, "blobref") } r.Depth = httputil.OptionalInt(req, "depth") r.MaxDirChildren = httputil.OptionalInt(req, "maxdirchildren") r.At = types.ParseTime3339OrZero(req.FormValue("at")) }