From b622c5e6d1bbf8c6d7b9d66d1fedabdad3f10524 Mon Sep 17 00:00:00 2001 From: Kirill Solomko Date: Fri, 13 Mar 2015 17:58:18 +0100 Subject: [PATCH] MT#12165 - utf8 support for JSON data Change-Id: I8416777d8d9030d30881ef92074917757584119d --- lib/NGCP/Panel/Controller/API/BillingFees.pm | 2 +- lib/NGCP/Panel/Controller/API/PbxDeviceModels.pm | 2 +- lib/NGCP/Panel/Controller/API/PbxDeviceModelsItem.pm | 2 +- lib/NGCP/Panel/Role/API.pm | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/NGCP/Panel/Controller/API/BillingFees.pm b/lib/NGCP/Panel/Controller/API/BillingFees.pm index 53843cdc0a..bce78dc707 100644 --- a/lib/NGCP/Panel/Controller/API/BillingFees.pm +++ b/lib/NGCP/Panel/Controller/API/BillingFees.pm @@ -156,7 +156,7 @@ sub POST :Allow { $resource = $c->req->query_params; } else { last unless $self->require_wellformed_json($c, 'application/json', $data); - $resource = JSON::from_json($data); + $resource = JSON::from_json($data, { utf8 => 1 }); $data = undef; } diff --git a/lib/NGCP/Panel/Controller/API/PbxDeviceModels.pm b/lib/NGCP/Panel/Controller/API/PbxDeviceModels.pm index 02b10b1e2e..6696926763 100644 --- a/lib/NGCP/Panel/Controller/API/PbxDeviceModels.pm +++ b/lib/NGCP/Panel/Controller/API/PbxDeviceModels.pm @@ -202,7 +202,7 @@ sub POST :Allow { last unless $self->forbid_link_header($c); last unless $self->valid_media_type($c, 'multipart/form-data'); last unless $self->require_wellformed_json($c, 'application/json', $c->req->param('json')); - my $resource = JSON::from_json($c->req->param('json')); + my $resource = JSON::from_json($c->req->param('json'), { utf8 => 1 }); $resource->{type} //= 'phone'; $resource->{front_image} = $self->get_upload($c, 'front_image'); last unless $resource->{front_image}; diff --git a/lib/NGCP/Panel/Controller/API/PbxDeviceModelsItem.pm b/lib/NGCP/Panel/Controller/API/PbxDeviceModelsItem.pm index f877c947ec..806d6f68d2 100644 --- a/lib/NGCP/Panel/Controller/API/PbxDeviceModelsItem.pm +++ b/lib/NGCP/Panel/Controller/API/PbxDeviceModelsItem.pm @@ -144,7 +144,7 @@ sub PUT :Allow { last unless $self->forbid_link_header($c); last unless $self->valid_media_type($c, 'multipart/form-data'); last unless $self->require_wellformed_json($c, 'application/json', $c->req->param('json')); - my $resource = JSON::from_json($c->req->param('json')); + my $resource = JSON::from_json($c->req->param('json'), { utf8 => 1 }); $resource->{front_image} = $self->get_upload($c, 'front_image'); last unless $resource->{front_image}; # optional, don't set error diff --git a/lib/NGCP/Panel/Role/API.pm b/lib/NGCP/Panel/Role/API.pm index 8e50076a99..f50530fea8 100644 --- a/lib/NGCP/Panel/Role/API.pm +++ b/lib/NGCP/Panel/Role/API.pm @@ -26,7 +26,7 @@ sub get_valid_post_data { my $media_type = $params{media_type}; my $json = $self->get_valid_raw_post_data(%params); return unless $self->require_wellformed_json($c, $media_type, $json); - return JSON::from_json($json); + return JSON::from_json($json, { utf8 => 1 }); } sub get_valid_raw_post_data { @@ -49,7 +49,7 @@ sub get_valid_put_data { my $json = $self->get_valid_raw_put_data(%params); return unless $json; return unless $self->require_wellformed_json($c, $media_type, $json); - return JSON::from_json($json); + return JSON::from_json($json, { utf8 => 1 }); } sub get_valid_raw_put_data { @@ -305,7 +305,7 @@ sub require_valid_patch { } } - my $patch = JSON::from_json($json); + my $patch = JSON::from_json($json, { utf8 => 1 }); unless(ref $patch eq "ARRAY") { $self->error($c, HTTP_BAD_REQUEST, "Body for PATCH must be an array."); return;