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);
 };