- // Using the POST special case to avoid URI length 414 errors.
- // See https://doc.arvados.org/v1.4/api/requests.html
- const formData = new FormData();
- formData.append("_method", "GET");
- Object.keys(params).map(key => {
- if (params[key] !== undefined) {
- formData.append(key, params[key]);
- }
- });
-
- return CommonService.defaultResponse(
- this.serverApi.post(this.resourceType, formData),
- this.actions
- );
+ if (QueryString.stringify(params).length <= 1500) {
+ return CommonService.defaultResponse(
+ this.serverApi.get(`/${this.resourceType}`, { params }),
+ this.actions,
+ true,
+ showErrors
+ );
+ } else {
+ // Using the POST special case to avoid URI length 414 errors.
+ // We must use urlencoded post body since api doesn't support form data
+ // const formData = new FormData();
+ const formData = new URLSearchParams();
+ formData.append("_method", "GET");
+ Object.keys(params).forEach(key => {
+ if (params[key] !== undefined) {
+ formData.append(key, params[key]);
+ }
+ });
+ return CommonService.defaultResponse(
+ this.serverApi.post(`/${this.resourceType}`, formData, {}),
+ this.actions,
+ true,
+ showErrors
+ );
+ }