error(rs, PAZPAR2_MALFORMED_PARAMETER_VALUE, "sort");
release_session(c, s);
return;
+
}
struct http_request *rq = c->request;
struct http_session *s = locate_session(c);
const char *block = http_argbyname(rq, "block");
+ const char *sort = http_argbyname(rq, "sort");
+ struct reclist_sortparms *sp;
int status;
if (!s)
return;
+ if (!sort)
+ sort = "relevance";
+
status = session_active_clients(s->psession);
+ if (!(sp = reclist_parse_sortparms(c->nmem, sort, s->psession->service)))
+ {
+ error(c->response, PAZPAR2_MALFORMED_PARAMETER_VALUE, "sort");
+ release_session(c, s);
+ return;
+ }
+ search_sort(s->psession, sp->name, sp->increasing);
+
if (block)
{
if (!strcmp(block, "preferred") && !session_is_preferred_clients_ready(s->psession) && reclist_get_num_records(s->psession->reclist) == 0)