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.

auto regex = getCompiledRegex(expression);
        if (capturingNamedQueryParam(analyze_receive_params, regex))
            headers_name_with_regex.emplace(std::make_pair(header_name, regex));
    }
    std::shared_ptr<HandlingRuleHTTPHandlerFactory<PredefinedQueryHandler>> factory;
    if (configuration.has(config_prefix + ".url"))
    {
        auto url_expression = configuration.getString(config_prefix + ".url");
        if (startsWith(url_expression, "regex:"))
            url_expression = url_expression.substr(6);
        auto regex = getCompiledRegex(url_expression);
        if (capturingNamedQueryParam(analyze_receive_params, regex))
        {
            factory = std::make_shared<HandlingRuleHTTPHandlerFactory<PredefinedQueryHandler>>(
                server,
                std::move(analyze_receive_params),
                std::move(predefined_query),
                std::move(regex),
                std::move(headers_name_with_regex));
            factory->addFiltersFromConfig(configuration, config_prefix);
            return factory;
        }
    }
    factory = std::make_shared<HandlingRuleHTTPHandlerFactory<PredefinedQueryHandler>>(
        server, std::move(analyze_receive_params), std::move(predefined_query), CompiledRegexPtr{}, std::move(headers_name_with_regex));
    factory->addFiltersFromConfig(configuration, config_prefix);
    return factory;
}
}