{"action":"created","comment":{"url":"https://api.github.com/repos/katharsis-project/katharsis-framework/pulls/comments/76514593","id":76514593,"diff_hunk":"@@ -0,0 +1,116 @@\n+package io.katharsis.client.internal;\n+\n+import java.io.IOException;\n+import java.util.ArrayList;\n+import java.util.Iterator;\n+import java.util.List;\n+import java.util.Map;\n+\n+import com.fasterxml.jackson.core.JsonParser;\n+import com.fasterxml.jackson.databind.DeserializationContext;\n+import com.fasterxml.jackson.databind.JsonDeserializer;\n+import com.fasterxml.jackson.databind.JsonNode;\n+\n+import io.katharsis.client.ResponseBodyException;\n+import io.katharsis.errorhandling.ErrorData;\n+import io.katharsis.errorhandling.ErrorResponse;\n+\n+/**\n+ * Serializes top-level Errors object.\n+ */\n+public class ErrorResponseDeserializer extends JsonDeserializer<ErrorResponse> {\n+\n+\tprivate static final String LINKS = \"links\";\n+\tprivate static final String ID = \"id\";\n+\tprivate static final String ABOUT_LINK = \"about\";\n+\tprivate static final String STATUS = \"status\";\n+\tprivate static final String CODE = \"code\";\n+\tprivate static final String TITLE = \"title\";\n+\tprivate static final String DETAIL = \"detail\";\n+\tprivate static final String SOURCE = \"source\";\n+\tprivate static final String POINTER = \"pointer\";\n+\tprivate static final String PARAMETER = \"parameter\";\n+\tprivate static final String META = \"meta\";\n+\n+\t@Override\n+\tpublic ErrorResponse deserialize(JsonParser jp, DeserializationContext context)\n+\t\t\tthrows IOException {\n+\n+\t\tJsonNode node = jp.readValueAsTree();\n+\t\tif (node == null) {\n+\t\t\treturn null;\n+\t\t}\n+\n+\t\tJsonNode errorsNode = node.get(ErrorResponse.ERRORS);\n+\t\tList<ErrorData> errors = new ArrayList<>();\n+\t\tif (errorsNode != null) {\n+\t\t\tif (!errorsNode.isArray()) {\n+\t\t\t\tthrow new ResponseBodyException(\"data field has wrong type: \" + node.toString());\n+\t\t\t}\n+\t\t\tIterator<JsonNode> iterator = errorsNode.elements();\n+\t\t\twhile (iterator.hasNext()) {\n+\t\t\t\tJsonNode errorNode = iterator.next();\n+\t\t\t\tString id = readStringIfExists(ID, errorNode);\n+\t\t\t\tString aboutLink = readAboutLink(errorNode);\n+\t\t\t\tString status = readStringIfExists(STATUS, errorNode);\n+\t\t\t\tString code = readStringIfExists(CODE, errorNode);\n+\t\t\t\tString title = readStringIfExists(TITLE, errorNode);\n+\t\t\t\tString detail = readStringIfExists(DETAIL, errorNode);\n+\t\t\t\tMap<String, Object> meta = readMeta(errorNode, jp);\n+\t\t\t\tString sourcePointer = readSourcePointer(errorNode);\n+\t\t\t\tString sourceParameter = readSourceParameter(errorNode);\n+\t\t\t\tErrorData error = new ErrorData(id, aboutLink, status, code, title, detail, sourcePointer, sourceParameter, meta);\n+\t\t\t\terrors.add(error);\n+\t\t\t}\n+\t\t}\n+\n+\t\tint httpStatus = -1; // later\n+\t\treturn new ErrorResponse(errors, httpStatus);\n+\t}\n+\n+\t@SuppressWarnings(\"unchecked\")\n+\tprivate static Map<String, Object> readMeta(JsonNode errorNode, JsonParser jp) throws IOException {\n+\t\tJsonNode metaNode = errorNode.get(META);\n+\t\tif (metaNode != null) {\n+\t\t\treturn jp.getCodec().treeToValue(metaNode, Map.class);\n+\t\t}\n+\t\treturn null;\n+\t}\n+\n+\tprivate static String readSourcePointer(JsonNode errorNode) throws IOException {\n+\t\tJsonNode node = errorNode.get(SOURCE);\n+\t\tif (node != null) {\n+\t\t\treturn readStringIfExists(POINTER, node);\n+\t\t}\n+\t\treturn null;\n+\t}\n+\n+\tprivate static String readSourceParameter(JsonNode errorNode) throws IOException {\n+\t\tJsonNode node = errorNode.get(SOURCE);\n+\t\tif (node != null) {\n+\t\t\treturn readStringIfExists(PARAMETER, node);\n+\t\t}\n+\t\treturn null;\n+\t}\n+\n+\tprivate static String readAboutLink(JsonNode errorNode) throws IOException {\n+\t\tJsonNode node = errorNode.get(LINKS);\n+\t\tif (node != null) {\n+\t\t\treturn readStringIfExists(ABOUT_LINK, node);\n+\t\t}\n+\t\treturn null;\n+\t}\n+\n+\tprivate static String readStringIfExists(String fieldName, JsonNode errorNode) throws IOException {\n+\t\tJsonNode node = errorNode.get(fieldName);\n+\t\tif (node != null) {\n+\t\t\treturn node.asText();\n+\t\t} else {\n+\t\t\treturn null;\n+\t\t}\n+\t}\n+\n+\tpublic Class<ErrorResponse> handledType() {","path":"katharsis-client/src/main/java/io/katharsis/client/internal/ErrorResponseDeserializer.java","position":113,"original_position":113,"commit_id":"e6bee4b963bca8499e9d236f3f4e9bb79f082932","original_commit_id":"e6bee4b963bca8499e9d236f3f4e9bb79f082932","user":{"login":"meshuga","id":1073936,"avatar_url":"https://avatars.githubusercontent.com/u/1073936?v=3","gravatar_id":"","url":"https://api.github.com/users/meshuga","html_url":"https://github.com/meshuga","followers_url":"https://api.github.com/users/meshuga/followers","following_url":"https://api.github.com/users/meshuga/following{/other_user}","gists_url":"https://api.github.com/users/meshuga/gists{/gist_id}","starred_url":"https://api.github.com/users/meshuga/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/meshuga/subscriptions","organizations_url":"https://api.github.com/users/meshuga/orgs","repos_url":"https://api.github.com/users/meshuga/repos","events_url":"https://api.github.com/users/meshuga/events{/privacy}","received_events_url":"https://api.github.com/users/meshuga/received_events","type":"User","site_admin":false},"body":"![MAJOR](https://raw.githubusercontent.com/SonarCommunity/sonar-github/master/images/severity-major.png) Add the \"@Override\" annotation above this method signature [![rule](https://raw.githubusercontent.com/SonarCommunity/sonar-github/master/images/rule.png)](https://sonarqube.com/coding_rules#rule_key=squid%3AS1161)\n","created_at":"2016-08-27T11:12:24Z","updated_at":"2016-08-27T11:12:24Z","html_url":"https://github.com/katharsis-project/katharsis-framework/pull/88#discussion_r76514593","pull_request_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/pulls/88","_links":{"self":{"href":"https://api.github.com/repos/katharsis-project/katharsis-framework/pulls/comments/76514593"},"html":{"href":"https://github.com/katharsis-project/katharsis-framework/pull/88#discussion_r76514593"},"pull_request":{"href":"https://api.github.com/repos/katharsis-project/katharsis-framework/pulls/88"}}},"pull_request":{"url":"https://api.github.com/repos/katharsis-project/katharsis-framework/pulls/88","id":81988777,"html_url":"https://github.com/katharsis-project/katharsis-framework/pull/88","diff_url":"https://github.com/katharsis-project/katharsis-framework/pull/88.diff","patch_url":"https://github.com/katharsis-project/katharsis-framework/pull/88.patch","issue_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/issues/88","number":88,"state":"open","locked":false,"title":"Add jsonapi client #26","user":{"login":"remmeier","id":8008853,"avatar_url":"https://avatars.githubusercontent.com/u/8008853?v=3","gravatar_id":"","url":"https://api.github.com/users/remmeier","html_url":"https://github.com/remmeier","followers_url":"https://api.github.com/users/remmeier/followers","following_url":"https://api.github.com/users/remmeier/following{/other_user}","gists_url":"https://api.github.com/users/remmeier/gists{/gist_id}","starred_url":"https://api.github.com/users/remmeier/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/remmeier/subscriptions","organizations_url":"https://api.github.com/users/remmeier/orgs","repos_url":"https://api.github.com/users/remmeier/repos","events_url":"https://api.github.com/users/remmeier/events{/privacy}","received_events_url":"https://api.github.com/users/remmeier/received_events","type":"User","site_admin":false},"body":"initial version of a katharsis client\r\n\r\n* add as a new module katharsis-client\r\n* the basics are working, but by no means a complete implementation\r\n* only very few changes to serialization impl of katharsis-core, proper\r\nrefactoring should be done in a second step\r\n* test cases provide a good example how to use it\r\n* support module api just like the server-side\r\n* makes use of ResourceRegistry and Repository, the later being used to\r\nmaintain client stubs.","created_at":"2016-08-19T14:20:24Z","updated_at":"2016-08-27T11:12:24Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2b23f556e0c7ed8ca0c38073ceb19d25b342479e","assignee":{"login":"remmeier","id":8008853,"avatar_url":"https://avatars.githubusercontent.com/u/8008853?v=3","gravatar_id":"","url":"https://api.github.com/users/remmeier","html_url":"https://github.com/remmeier","followers_url":"https://api.github.com/users/remmeier/followers","following_url":"https://api.github.com/users/remmeier/following{/other_user}","gists_url":"https://api.github.com/users/remmeier/gists{/gist_id}","starred_url":"https://api.github.com/users/remmeier/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/remmeier/subscriptions","organizations_url":"https://api.github.com/users/remmeier/orgs","repos_url":"https://api.github.com/users/remmeier/repos","events_url":"https://api.github.com/users/remmeier/events{/privacy}","received_events_url":"https://api.github.com/users/remmeier/received_events","type":"User","site_admin":false},"assignees":[{"login":"remmeier","id":8008853,"avatar_url":"https://avatars.githubusercontent.com/u/8008853?v=3","gravatar_id":"","url":"https://api.github.com/users/remmeier","html_url":"https://github.com/remmeier","followers_url":"https://api.github.com/users/remmeier/followers","following_url":"https://api.github.com/users/remmeier/following{/other_user}","gists_url":"https://api.github.com/users/remmeier/gists{/gist_id}","starred_url":"https://api.github.com/users/remmeier/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/remmeier/subscriptions","organizations_url":"https://api.github.com/users/remmeier/orgs","repos_url":"https://api.github.com/users/remmeier/repos","events_url":"https://api.github.com/users/remmeier/events{/privacy}","received_events_url":"https://api.github.com/users/remmeier/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/pulls/88/commits","review_comments_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/pulls/88/comments","review_comment_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/pulls/comments{/number}","comments_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/issues/88/comments","statuses_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/statuses/e6bee4b963bca8499e9d236f3f4e9bb79f082932","head":{"label":"katharsis-project:client","ref":"client","sha":"e6bee4b963bca8499e9d236f3f4e9bb79f082932","user":{"login":"katharsis-project","id":12221293,"avatar_url":"https://avatars.githubusercontent.com/u/12221293?v=3","gravatar_id":"","url":"https://api.github.com/users/katharsis-project","html_url":"https://github.com/katharsis-project","followers_url":"https://api.github.com/users/katharsis-project/followers","following_url":"https://api.github.com/users/katharsis-project/following{/other_user}","gists_url":"https://api.github.com/users/katharsis-project/gists{/gist_id}","starred_url":"https://api.github.com/users/katharsis-project/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/katharsis-project/subscriptions","organizations_url":"https://api.github.com/users/katharsis-project/orgs","repos_url":"https://api.github.com/users/katharsis-project/repos","events_url":"https://api.github.com/users/katharsis-project/events{/privacy}","received_events_url":"https://api.github.com/users/katharsis-project/received_events","type":"Organization","site_admin":false},"repo":{"id":64340716,"name":"katharsis-framework","full_name":"katharsis-project/katharsis-framework","owner":{"login":"katharsis-project","id":12221293,"avatar_url":"https://avatars.githubusercontent.com/u/12221293?v=3","gravatar_id":"","url":"https://api.github.com/users/katharsis-project","html_url":"https://github.com/katharsis-project","followers_url":"https://api.github.com/users/katharsis-project/followers","following_url":"https://api.github.com/users/katharsis-project/following{/other_user}","gists_url":"https://api.github.com/users/katharsis-project/gists{/gist_id}","starred_url":"https://api.github.com/users/katharsis-project/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/katharsis-project/subscriptions","organizations_url":"https://api.github.com/users/katharsis-project/orgs","repos_url":"https://api.github.com/users/katharsis-project/repos","events_url":"https://api.github.com/users/katharsis-project/events{/privacy}","received_events_url":"https://api.github.com/users/katharsis-project/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/katharsis-project/katharsis-framework","description":"Katharsis adds powerful layer for RESTful endpoints providing implementenation of JSON:API standard","fork":false,"url":"https://api.github.com/repos/katharsis-project/katharsis-framework","forks_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/forks","keys_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/keys{/key_id}","collaborators_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/teams","hooks_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/hooks","issue_events_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/issues/events{/number}","events_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/events","assignees_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/assignees{/user}","branches_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/branches{/branch}","tags_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/tags","blobs_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/git/refs{/sha}","trees_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/git/trees{/sha}","statuses_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/statuses/{sha}","languages_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/languages","stargazers_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/stargazers","contributors_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/contributors","subscribers_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/subscribers","subscription_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/subscription","commits_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/commits{/sha}","git_commits_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/git/commits{/sha}","comments_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/comments{/number}","issue_comment_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/issues/comments{/number}","contents_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/contents/{+path}","compare_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/compare/{base}...{head}","merges_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/merges","archive_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/downloads","issues_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/issues{/number}","pulls_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/pulls{/number}","milestones_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/milestones{/number}","notifications_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/labels{/name}","releases_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/releases{/id}","deployments_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/deployments","created_at":"2016-07-27T20:46:27Z","updated_at":"2016-08-24T20:41:13Z","pushed_at":"2016-08-27T11:08:04Z","git_url":"git://github.com/katharsis-project/katharsis-framework.git","ssh_url":"git@github.com:katharsis-project/katharsis-framework.git","clone_url":"https://github.com/katharsis-project/katharsis-framework.git","svn_url":"https://github.com/katharsis-project/katharsis-framework","homepage":"http://katharsis.io","size":2403,"stargazers_count":18,"watchers_count":18,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":5,"mirror_url":null,"open_issues_count":44,"forks":5,"open_issues":44,"watchers":18,"default_branch":"develop"}},"base":{"label":"katharsis-project:develop","ref":"develop","sha":"27b1ba92c5948a98275a54d2aaca2ec7c113f866","user":{"login":"katharsis-project","id":12221293,"avatar_url":"https://avatars.githubusercontent.com/u/12221293?v=3","gravatar_id":"","url":"https://api.github.com/users/katharsis-project","html_url":"https://github.com/katharsis-project","followers_url":"https://api.github.com/users/katharsis-project/followers","following_url":"https://api.github.com/users/katharsis-project/following{/other_user}","gists_url":"https://api.github.com/users/katharsis-project/gists{/gist_id}","starred_url":"https://api.github.com/users/katharsis-project/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/katharsis-project/subscriptions","organizations_url":"https://api.github.com/users/katharsis-project/orgs","repos_url":"https://api.github.com/users/katharsis-project/repos","events_url":"https://api.github.com/users/katharsis-project/events{/privacy}","received_events_url":"https://api.github.com/users/katharsis-project/received_events","type":"Organization","site_admin":false},"repo":{"id":64340716,"name":"katharsis-framework","full_name":"katharsis-project/katharsis-framework","owner":{"login":"katharsis-project","id":12221293,"avatar_url":"https://avatars.githubusercontent.com/u/12221293?v=3","gravatar_id":"","url":"https://api.github.com/users/katharsis-project","html_url":"https://github.com/katharsis-project","followers_url":"https://api.github.com/users/katharsis-project/followers","following_url":"https://api.github.com/users/katharsis-project/following{/other_user}","gists_url":"https://api.github.com/users/katharsis-project/gists{/gist_id}","starred_url":"https://api.github.com/users/katharsis-project/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/katharsis-project/subscriptions","organizations_url":"https://api.github.com/users/katharsis-project/orgs","repos_url":"https://api.github.com/users/katharsis-project/repos","events_url":"https://api.github.com/users/katharsis-project/events{/privacy}","received_events_url":"https://api.github.com/users/katharsis-project/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/katharsis-project/katharsis-framework","description":"Katharsis adds powerful layer for RESTful endpoints providing implementenation of JSON:API standard","fork":false,"url":"https://api.github.com/repos/katharsis-project/katharsis-framework","forks_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/forks","keys_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/keys{/key_id}","collaborators_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/teams","hooks_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/hooks","issue_events_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/issues/events{/number}","events_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/events","assignees_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/assignees{/user}","branches_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/branches{/branch}","tags_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/tags","blobs_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/git/refs{/sha}","trees_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/git/trees{/sha}","statuses_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/statuses/{sha}","languages_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/languages","stargazers_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/stargazers","contributors_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/contributors","subscribers_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/subscribers","subscription_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/subscription","commits_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/commits{/sha}","git_commits_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/git/commits{/sha}","comments_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/comments{/number}","issue_comment_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/issues/comments{/number}","contents_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/contents/{+path}","compare_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/compare/{base}...{head}","merges_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/merges","archive_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/downloads","issues_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/issues{/number}","pulls_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/pulls{/number}","milestones_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/milestones{/number}","notifications_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/labels{/name}","releases_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/releases{/id}","deployments_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/deployments","created_at":"2016-07-27T20:46:27Z","updated_at":"2016-08-24T20:41:13Z","pushed_at":"2016-08-27T11:08:04Z","git_url":"git://github.com/katharsis-project/katharsis-framework.git","ssh_url":"git@github.com:katharsis-project/katharsis-framework.git","clone_url":"https://github.com/katharsis-project/katharsis-framework.git","svn_url":"https://github.com/katharsis-project/katharsis-framework","homepage":"http://katharsis.io","size":2403,"stargazers_count":18,"watchers_count":18,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":5,"mirror_url":null,"open_issues_count":44,"forks":5,"open_issues":44,"watchers":18,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/katharsis-project/katharsis-framework/pulls/88"},"html":{"href":"https://github.com/katharsis-project/katharsis-framework/pull/88"},"issue":{"href":"https://api.github.com/repos/katharsis-project/katharsis-framework/issues/88"},"comments":{"href":"https://api.github.com/repos/katharsis-project/katharsis-framework/issues/88/comments"},"review_comments":{"href":"https://api.github.com/repos/katharsis-project/katharsis-framework/pulls/88/comments"},"review_comment":{"href":"https://api.github.com/repos/katharsis-project/katharsis-framework/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/katharsis-project/katharsis-framework/pulls/88/commits"},"statuses":{"href":"https://api.github.com/repos/katharsis-project/katharsis-framework/statuses/e6bee4b963bca8499e9d236f3f4e9bb79f082932"}}}}
{"actor":{"display_login":"meshuga"}}