http /bucket and /objects handlers // parse request + init/lookup bucket (combo)
(w http.ResponseWriter, r *http.Request, bckArgs *bckInitArgs)
| 340 | |
| 341 | // parse request + init/lookup bucket (combo) |
| 342 | func (p *proxy) _parseReqTry(w http.ResponseWriter, r *http.Request, bckArgs *bckInitArgs) (bck *cluster.Bck, |
| 343 | objName string, err error) { |
| 344 | apireq := apiReqAlloc(2, apc.URLPathObjects.L, false) |
| 345 | if err = p.parseReq(w, r, apireq); err != nil { |
| 346 | apiReqFree(apireq) |
| 347 | return |
| 348 | } |
| 349 | bckArgs.bck, bckArgs.query = apireq.bck, apireq.query |
| 350 | // both ais package caller and remote user |
| 351 | bckArgs.headRemB = bckArgs.headRemB && shouldHeadRemB() |
| 352 | |
| 353 | bck, err = bckArgs.initAndTry(apireq.bck.Name) |
| 354 | objName = apireq.items[1] |
| 355 | |
| 356 | apiReqFree(apireq) |
| 357 | freeInitBckArgs(bckArgs) // caller does alloc |
| 358 | return |
| 359 | } |
| 360 | |
| 361 | // verb /v1/buckets/ |
| 362 | func (p *proxy) bucketHandler(w http.ResponseWriter, r *http.Request) { |
no test coverage detected