diff --git a/lib/NGCP/Panel/Controller/API/RewriteRules.pm b/lib/NGCP/Panel/Controller/API/RewriteRules.pm index 24cabf3486..921afad6fe 100644 --- a/lib/NGCP/Panel/Controller/API/RewriteRules.pm +++ b/lib/NGCP/Panel/Controller/API/RewriteRules.pm @@ -136,7 +136,7 @@ sub GET :Allow { $hal->resource({ total_count => $total_count, }); - my $response = HTTP::Response->new(HTTP_OK, undef, + my $response = HTTP::Response->new(HTTP_OK, undef, HTTP::Headers->new($hal->http_headers(skip_links => 1)), $hal->as_json); $c->response->headers($response->headers); $c->response->body($response->content); @@ -184,6 +184,9 @@ sub POST :Allow { exceptions => [qw/set_id/], ); + $resource->{match_pattern} = $form->values->{match_pattern}; + $resource->{replace_pattern} = $form->values->{replace_pattern}; + my $rule; unless(defined $resource->{set_id}) { diff --git a/lib/NGCP/Panel/Role/API/RewriteRules.pm b/lib/NGCP/Panel/Role/API/RewriteRules.pm index fc1c6486e2..eb2c3096ee 100644 --- a/lib/NGCP/Panel/Role/API/RewriteRules.pm +++ b/lib/NGCP/Panel/Role/API/RewriteRules.pm @@ -23,7 +23,7 @@ sub get_form { sub hal_from_item { my ($self, $c, $item, $type) = @_; my $form; - + my %resource = $item->get_inflated_columns; my $hal = Data::HAL->new( @@ -51,6 +51,10 @@ sub hal_from_item { run => 0, exceptions => [qw/set_id/], ); + + $resource{match_pattern} = $form->inflate_match_pattern($resource{match_pattern}); + $resource{replace_pattern} = $form->inflate_replace_pattern($resource{replace_pattern}); + $hal->resource(\%resource); return $hal; } @@ -94,6 +98,9 @@ sub update_item { exceptions => [qw/set_id/], ); + $resource->{match_pattern} = $form->values->{match_pattern}; + $resource->{replace_pattern} = $form->values->{replace_pattern}; + $item->update($resource); return $item; diff --git a/t/api-rest/api-rewriterulesets.t b/t/api-rest/api-rewriterulesets.t index 097803a9a6..5a2e2e1555 100644 --- a/t/api-rest/api-rewriterulesets.t +++ b/t/api-rest/api-rewriterulesets.t @@ -87,7 +87,8 @@ my @allrules = (); direction => "out", field => "callee", match_pattern => "test pattern $t", - replace_pattern => "test_replace_$t", + #replace_pattern => "test_replace_$t", + replace_pattern => '${caller_in}_' . "$t", })); $res = $ua->request($req); is($res->code, 201, "create test rewriterule $i"); @@ -288,7 +289,7 @@ my @allrules = (); delete $rule->{_links}; delete $rule->{_embedded}; $req = HTTP::Request->new('PUT', $uri.'/'.$firstrule); - + # check if it fails without content type $req->remove_header('Content-Type'); $req->header('Prefer' => "return=minimal");