I want to add a `predefined_query_handler` to serve a single JSON from my query.
For example

```xml
<rule>
      <url>/my/url</url>
      <methods>GET</methods>
      <handler>
        <type>predefined_query_handler</type>
        <query>select '{"my": "json"}' format JSONAsString</query>
      </handler>
    </rule>
```

I can use `RawBLOB` but it sets up Content-Type 'text/plain' instead of 'application/json'.
I think JSONAsString should also work with output.

tryLogCurrentException(log, "Cannot send exception to client");
    try
    {
        used_output.finalize();
    }
    catch (...)
    {
        tryLogCurrentException(log, "Cannot flush data to client (after sending exception)");
    }
}
void HTTPHandler::handleRequest(HTTPServerRequest & request, HTTPServerResponse & response)
{
    setThreadName("HTTPHandler");
    ThreadStatus thread_status;
    session = std::make_unique<Session>(server.context(), ClientInfo::Interface::HTTP, request.isSecure());
    SCOPE_EXIT({ session.reset(); });
    std::optional<CurrentThread::QueryScope> query_scope;
    Output used_output;
    
    bool with_stacktrace = false;
    try
    {
        if (request.getMethod() == HTTPServerRequest::HTTP_OPTIONS)
        {
            processOptionsRequest(response, server.config());
            return;
        }
        response.setContentType("text/plain; charset=UTF-8");
        response.set("X-ClickHouse-Server-Display-Name", server_display_name);