Commit a9201805 authored by Roman Lacko's avatar Roman Lacko
Browse files

fix 204 No Content handling so that API does not croak on missing data

parent 94f12cea
...@@ -229,12 +229,17 @@ sub clean_data { ...@@ -229,12 +229,17 @@ sub clean_data {
croak $response->message; croak $response->message;
} }
# all responses from GitLab should be JSON data # no data should be present if we got 204 No Content
if ($response->header("Content-Type") !~ m!^application/json!) { return $response
croak "GitLab sent '", $response->header("Content-Type"), "' instead of 'application/json'"; if $response->code == HTTP_NO_CONTENT;
}
# otherwise we should have gotten application/json response
croak "GitLab sent '", $response->header("Content-Type"), "' instead of 'application/json'"
if $response->header("Content-Type") !~ m!^application/json!;
return ($response, undef) unless $response->is_success; # don't process data on error
return ($response, undef)
unless $response->is_success;
my $data = $response->decoded_content; my $data = $response->decoded_content;
utf8::decode($data); utf8::decode($data);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment