Add support for response pipes
Change-Id: I86905bb22ffa70b86476f0de6fa8343f687dc740
diff --git a/t/server/mock.pl b/t/server/mock.pl
index 32485fb..1af2fb0 100644
--- a/t/server/mock.pl
+++ b/t/server/mock.pl
@@ -142,6 +142,7 @@
$v->optional('context');
$v->optional('offset');
$v->optional('pipes');
+ $v->optional('response-pipes');
$v->optional('fields');
$v->optional('cutoff')->in(qw/true false/);
@@ -180,6 +181,7 @@
push @slug_base, 'co' . $v->param('cutoff') if defined $v->param('cutoff');
push @slug_base, 'cq' if defined $v->param('cq');
push @slug_base, 'p' . $v->param('pipes') if defined $v->param('pipes');
+ push @slug_base, 'rp' . $v->param('response-pipes') if defined $v->param('response-pipes');
if (defined $v->param('fields') && ($v->param('fields') ne join(',', @default_search_fields))) {
push @slug_base, 'f' .join('-', split(',', $v->param('fields')));
@@ -227,6 +229,10 @@
$response->{json}->{meta}->{pipes} = $v->param('pipes');
};
+ if ($v->param('response-pipes')) {
+ $response->{json}->{meta}->{responsePipes} = $v->param('response-pipes');
+ };
+
# Set page parameter
if ($v->param('page')) {
$response->{json}->{meta}->{startIndex} = $v->param("startIndex");
@@ -243,6 +249,8 @@
# Textinfo fixtures
get '/v1.0/corpus/#corpusId/#docId/#textId' => sub {
my $c = shift;
+ my $v = $c->validation;
+ $v->optional('response-pipes');
my $file = join('_', (
'textinfo',
@@ -255,6 +263,11 @@
# Get response based on query parameter
my $response = $c->load_response($slug);
+
+ if ($v->param('response-pipes')) {
+ $response->{json}->{meta}->{responsePipes} = $v->param('response-pipes');
+ };
+
return $c->render(%$response);
};
@@ -262,6 +275,8 @@
# Matchinfo fixtures
get '/v1.0/corpus/#corpusId/#docId/#textId/#matchId' => sub {
my $c = shift;
+ my $v = $c->validation;
+ $v->optional('response-pipes');
my $file = join('_', (
'matchinfo',
@@ -275,6 +290,11 @@
# Get response based on query parameter
my $response = $c->load_response($slug);
+
+ if ($v->param('response-pipes')) {
+ $response->{json}->{meta}->{responsePipes} = $v->param('response-pipes');
+ };
+
return $c->render(%$response);
};
@@ -284,6 +304,7 @@
my $c = shift;
my $v = $c->validation;
$v->optional('cq');
+ $v->optional('response-pipes', 'trim');
my @list = 'corpusinfo';
if ($v->param('cq')) {
@@ -293,6 +314,13 @@
# Get response based on query parameter
my $response = $c->load_response($slug);
+
+ if ($v->param('response-pipes')) {
+ my $meta = $response->{json}->{meta} // {};
+ $meta->{responsePipes} = $v->param('response-pipes');
+ $response->{json}->{meta} = $meta;
+ };
+
return $c->render(%$response);
};