MT#12165 - utf8 support for JSON data

Change-Id: I8416777d8d9030d30881ef92074917757584119d
changes/39/1339/2
Kirill Solomko 11 years ago
parent 9f25a4df95
commit b622c5e6d1

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

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

@ -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

@ -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;

Loading…
Cancel
Save