Handles multi-object (delete, prefetch, evict) operations as well as (archive, copy and ETL) transactions
(baseParams BaseParams, bck cmn.Bck, action string, msg interface{})
| 70 | // Handles multi-object (delete, prefetch, evict) operations |
| 71 | // as well as (archive, copy and ETL) transactions |
| 72 | func doListRangeRequest(baseParams BaseParams, bck cmn.Bck, action string, msg interface{}) (xactID string, err error) { |
| 73 | q := bck.AddToQuery(nil) |
| 74 | switch action { |
| 75 | case apc.ActDeleteObjects, apc.ActEvictObjects: |
| 76 | baseParams.Method = http.MethodDelete |
| 77 | case apc.ActPrefetchObjects, apc.ActCopyObjects, apc.ActETLObjects: |
| 78 | baseParams.Method = http.MethodPost |
| 79 | case apc.ActArchive: |
| 80 | baseParams.Method = http.MethodPut |
| 81 | default: |
| 82 | err = fmt.Errorf("invalid action %q", action) |
| 83 | return |
| 84 | } |
| 85 | reqParams := AllocRp() |
| 86 | { |
| 87 | reqParams.BaseParams = baseParams |
| 88 | reqParams.Path = apc.URLPathBuckets.Join(bck.Name) |
| 89 | reqParams.Body = cos.MustMarshal(apc.ActionMsg{Action: action, Value: msg}) |
| 90 | reqParams.Header = http.Header{cos.HdrContentType: []string{cos.ContentJSON}} |
| 91 | reqParams.Query = q |
| 92 | } |
| 93 | err = reqParams.DoHTTPReqResp(&xactID) |
| 94 | FreeRp(reqParams) |
| 95 | return |
| 96 | } |
no test coverage detected