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.

used_output.out->setCompression(client_supports_http_compression && settings.enable_http_compression);
    if (client_supports_http_compression)
        used_output.out->setCompressionLevel(settings.http_zlib_compression_level);
    used_output.out->setSendProgressInterval(settings.http_headers_progress_interval_ms);
    
    
    if (in_post_compressed && settings.http_native_compression_disable_checksumming_on_decompress)
        static_cast<CompressedReadBuffer &>(*in_post_maybe_compressed).disableChecksumming();
    
    
    
    if (!request.get("Origin", "").empty())
    {
        if (config.has("http_options_response"))
            tryAddHeadersFromConfig(response, config);
        else if (settings.add_http_cors_header)
            used_output.out->addHeaderCORS(true);
    }
    auto append_callback = [context = context] (ProgressCallback callback)
    {
        auto prev = context->getProgressCallback();
        context->setProgressCallback([prev, callback] (const Progress & progress)
        {
            if (prev)
                prev(progress);
            callback(progress);
        });
    };
    
    if (settings.send_progress_in_http_headers)