$OpenBSD: patch-src_plugins_fts-solr_fts-backend-solr_c,v 1.1 2018/03/10 21:54:30 sthen Exp $

From f987ef0632fc7be03e7f26dcd99695a6936c284e Mon Sep 17 00:00:00 2001
From: Simon Frankenberger <simon@fraho.eu>
Date: Thu, 9 Nov 2017 07:08:24 +0100
Subject: [PATCH] fts-solr: Explicitly ask for XML responses

With recent solr versions (7.0+) the default response
writer changed from XML to JSON. This commit sets the
"wt" query parameter for all requests, so that the right
response type is written.

Index: src/plugins/fts-solr/fts-backend-solr.c
--- src/plugins/fts-solr/fts-backend-solr.c.orig
+++ src/plugins/fts-solr/fts-backend-solr.c
@@ -217,7 +217,7 @@ get_last_uid_fallback(struct fts_backend *_backend, st
 	int ret = 0;
 
 	str = t_str_new(256);
-	str_append(str, "fl=uid&rows=1&sort=uid+desc&q=");
+	str_append(str, "wt=xml&fl=uid&rows=1&sort=uid+desc&q=");
 
 	if (fts_mailbox_get_guid(box, &box_guid) < 0)
 		return -1;
@@ -829,7 +829,7 @@ fts_backend_solr_lookup(struct fts_backend *_backend, 
 	mailbox_get_open_status(box, STATUS_UIDNEXT, &status);
 
 	str = t_str_new(256);
-	str_printfa(str, "fl=uid,score&rows=%u&sort=uid+asc&q=%%7b!lucene+q.op%%3dAND%%7d",
+	str_printfa(str, "wt=xml&fl=uid,score&rows=%u&sort=uid+asc&q=%%7b!lucene+q.op%%3dAND%%7d",
 		    status.uidnext);
 	prefix_len = str_len(str);
 
@@ -939,7 +939,7 @@ fts_backend_solr_lookup_multi(struct fts_backend *back
 	string_t *str;
 
 	str = t_str_new(256);
-	str_printfa(str, "fl=box,uid,score&rows=%u&sort=box+asc,uid+asc&q=%%7b!lucene+q.op%%3dAND%%7d",
+	str_printfa(str, "wt=xml&fl=box,uid,score&rows=%u&sort=box+asc,uid+asc&q=%%7b!lucene+q.op%%3dAND%%7d",
 		    SOLR_MAX_MULTI_ROWS);
 
 	if (solr_add_definite_query_args(str, args, and_args)) {
