add_block_preprocessor()

in t/client.t [28:71]


add_block_preprocessor(sub {
    my ($block) = @_;

    if (!$block->request) {
        $block->set_value("request", "GET /t");
    }

    if (!$block->no_error_log) {
        $block->set_value("no_error_log", "[error]\n[alert]");
    }

    my $http_config = $block->http_config // '';
    my $default_http_config = <<_EOC_;
    lua_package_path "$pwd/lib/?.lua;;";
    lua_shared_dict tracing_buffer 100m;
    $http_config
_EOC_

    $block->set_value("http_config", $default_http_config);

    my $config = $block->config;
    my $default_config = <<_EOC_;
    $config
    location = /v3/management/reportProperties {
        content_by_lua_block {
            ngx.req.read_body()
            local data = ngx.req.get_body_data()
            if data then
                data = require("cjson.safe").decode(data)
                ngx.log(ngx.WARN, "language: ", data.properties[1].value)
            end
        }
    }

    location = /v3/management/keepAlive {
        content_by_lua_block {
            ngx.log(ngx.WARN, "Go keepAlive")
            ngx.exit(200)
        }
    }
_EOC_

    $block->set_value("config", $default_config);
});