{"action":"closed","number":56,"pull_request":{"url":"https://api.github.com/repos/freizl/hoauth2/pulls/56","id":113816434,"html_url":"https://github.com/freizl/hoauth2/pull/56","diff_url":"https://github.com/freizl/hoauth2/pull/56.diff","patch_url":"https://github.com/freizl/hoauth2/pull/56.patch","issue_url":"https://api.github.com/repos/freizl/hoauth2/issues/56","number":56,"state":"closed","locked":false,"title":"Typing it up","user":{"login":"reactormonk","id":49185,"avatar_url":"https://avatars3.githubusercontent.com/u/49185?v=3","gravatar_id":"","url":"https://api.github.com/users/reactormonk","html_url":"https://github.com/reactormonk","followers_url":"https://api.github.com/users/reactormonk/followers","following_url":"https://api.github.com/users/reactormonk/following{/other_user}","gists_url":"https://api.github.com/users/reactormonk/gists{/gist_id}","starred_url":"https://api.github.com/users/reactormonk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/reactormonk/subscriptions","organizations_url":"https://api.github.com/users/reactormonk/orgs","repos_url":"https://api.github.com/users/reactormonk/repos","events_url":"https://api.github.com/users/reactormonk/events{/privacy}","received_events_url":"https://api.github.com/users/reactormonk/received_events","type":"User","site_admin":false},"body":"I've replaced most `String`/`Text`/`ByteString` with typed variants, anything that's coming in via JSON is decoded into `Text`. I've changed `AccessToken` to `OAuth2Token`, and `AccessToken` is now the `access_token` in `OAuth2Token`.\r\n\r\nThis PR will require a rewrite of any code using it, should I just fork and go for hoauth3?\r\n\r\nTests:\r\n  - [x] github\r\n  - [x] google\r\n  - [ ] stackexchange - that one failed, apparently they changed the API\r\n  - [ ] dropbox\r\n  - [ ] fitbit\r\n  - [ ] douban\r\n  - [ ] facebook\r\n  - [ ] weibo","created_at":"2017-04-02T12:31:10Z","updated_at":"2017-04-06T16:10:18Z","closed_at":"2017-04-06T16:10:18Z","merged_at":"2017-04-06T16:10:18Z","merge_commit_sha":"5d68c9ae832809f4293219079e5fc2fc1b6569bb","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/freizl/hoauth2/pulls/56/commits","review_comments_url":"https://api.github.com/repos/freizl/hoauth2/pulls/56/comments","review_comment_url":"https://api.github.com/repos/freizl/hoauth2/pulls/comments{/number}","comments_url":"https://api.github.com/repos/freizl/hoauth2/issues/56/comments","statuses_url":"https://api.github.com/repos/freizl/hoauth2/statuses/0b714141e300a2c7be0924d8b1cc1855b031a955","head":{"label":"reactormonk:master","ref":"master","sha":"0b714141e300a2c7be0924d8b1cc1855b031a955","user":{"login":"reactormonk","id":49185,"avatar_url":"https://avatars3.githubusercontent.com/u/49185?v=3","gravatar_id":"","url":"https://api.github.com/users/reactormonk","html_url":"https://github.com/reactormonk","followers_url":"https://api.github.com/users/reactormonk/followers","following_url":"https://api.github.com/users/reactormonk/following{/other_user}","gists_url":"https://api.github.com/users/reactormonk/gists{/gist_id}","starred_url":"https://api.github.com/users/reactormonk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/reactormonk/subscriptions","organizations_url":"https://api.github.com/users/reactormonk/orgs","repos_url":"https://api.github.com/users/reactormonk/repos","events_url":"https://api.github.com/users/reactormonk/events{/privacy}","received_events_url":"https://api.github.com/users/reactormonk/received_events","type":"User","site_admin":false},"repo":{"id":86603810,"name":"hoauth2","full_name":"reactormonk/hoauth2","owner":{"login":"reactormonk","id":49185,"avatar_url":"https://avatars3.githubusercontent.com/u/49185?v=3","gravatar_id":"","url":"https://api.github.com/users/reactormonk","html_url":"https://github.com/reactormonk","followers_url":"https://api.github.com/users/reactormonk/followers","following_url":"https://api.github.com/users/reactormonk/following{/other_user}","gists_url":"https://api.github.com/users/reactormonk/gists{/gist_id}","starred_url":"https://api.github.com/users/reactormonk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/reactormonk/subscriptions","organizations_url":"https://api.github.com/users/reactormonk/orgs","repos_url":"https://api.github.com/users/reactormonk/repos","events_url":"https://api.github.com/users/reactormonk/events{/privacy}","received_events_url":"https://api.github.com/users/reactormonk/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/reactormonk/hoauth2","description":"haskell oauth2 binding","fork":true,"url":"https://api.github.com/repos/reactormonk/hoauth2","forks_url":"https://api.github.com/repos/reactormonk/hoauth2/forks","keys_url":"https://api.github.com/repos/reactormonk/hoauth2/keys{/key_id}","collaborators_url":"https://api.github.com/repos/reactormonk/hoauth2/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/reactormonk/hoauth2/teams","hooks_url":"https://api.github.com/repos/reactormonk/hoauth2/hooks","issue_events_url":"https://api.github.com/repos/reactormonk/hoauth2/issues/events{/number}","events_url":"https://api.github.com/repos/reactormonk/hoauth2/events","assignees_url":"https://api.github.com/repos/reactormonk/hoauth2/assignees{/user}","branches_url":"https://api.github.com/repos/reactormonk/hoauth2/branches{/branch}","tags_url":"https://api.github.com/repos/reactormonk/hoauth2/tags","blobs_url":"https://api.github.com/repos/reactormonk/hoauth2/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/reactormonk/hoauth2/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/reactormonk/hoauth2/git/refs{/sha}","trees_url":"https://api.github.com/repos/reactormonk/hoauth2/git/trees{/sha}","statuses_url":"https://api.github.com/repos/reactormonk/hoauth2/statuses/{sha}","languages_url":"https://api.github.com/repos/reactormonk/hoauth2/languages","stargazers_url":"https://api.github.com/repos/reactormonk/hoauth2/stargazers","contributors_url":"https://api.github.com/repos/reactormonk/hoauth2/contributors","subscribers_url":"https://api.github.com/repos/reactormonk/hoauth2/subscribers","subscription_url":"https://api.github.com/repos/reactormonk/hoauth2/subscription","commits_url":"https://api.github.com/repos/reactormonk/hoauth2/commits{/sha}","git_commits_url":"https://api.github.com/repos/reactormonk/hoauth2/git/commits{/sha}","comments_url":"https://api.github.com/repos/reactormonk/hoauth2/comments{/number}","issue_comment_url":"https://api.github.com/repos/reactormonk/hoauth2/issues/comments{/number}","contents_url":"https://api.github.com/repos/reactormonk/hoauth2/contents/{+path}","compare_url":"https://api.github.com/repos/reactormonk/hoauth2/compare/{base}...{head}","merges_url":"https://api.github.com/repos/reactormonk/hoauth2/merges","archive_url":"https://api.github.com/repos/reactormonk/hoauth2/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/reactormonk/hoauth2/downloads","issues_url":"https://api.github.com/repos/reactormonk/hoauth2/issues{/number}","pulls_url":"https://api.github.com/repos/reactormonk/hoauth2/pulls{/number}","milestones_url":"https://api.github.com/repos/reactormonk/hoauth2/milestones{/number}","notifications_url":"https://api.github.com/repos/reactormonk/hoauth2/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/reactormonk/hoauth2/labels{/name}","releases_url":"https://api.github.com/repos/reactormonk/hoauth2/releases{/id}","deployments_url":"https://api.github.com/repos/reactormonk/hoauth2/deployments","created_at":"2017-03-29T16:15:25Z","updated_at":"2017-03-29T16:15:26Z","pushed_at":"2017-04-06T10:23:20Z","git_url":"git://github.com/reactormonk/hoauth2.git","ssh_url":"git@github.com:reactormonk/hoauth2.git","clone_url":"https://github.com/reactormonk/hoauth2.git","svn_url":"https://github.com/reactormonk/hoauth2","homepage":"http://hackage.haskell.org/package/hoauth2","size":186,"stargazers_count":0,"watchers_count":0,"language":"Haskell","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"freizl:master","ref":"master","sha":"fd31915aab460c3a1f1f50402e1a232bead79263","user":{"login":"freizl","id":437427,"avatar_url":"https://avatars2.githubusercontent.com/u/437427?v=3","gravatar_id":"","url":"https://api.github.com/users/freizl","html_url":"https://github.com/freizl","followers_url":"https://api.github.com/users/freizl/followers","following_url":"https://api.github.com/users/freizl/following{/other_user}","gists_url":"https://api.github.com/users/freizl/gists{/gist_id}","starred_url":"https://api.github.com/users/freizl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/freizl/subscriptions","organizations_url":"https://api.github.com/users/freizl/orgs","repos_url":"https://api.github.com/users/freizl/repos","events_url":"https://api.github.com/users/freizl/events{/privacy}","received_events_url":"https://api.github.com/users/freizl/received_events","type":"User","site_admin":false},"repo":{"id":4171810,"name":"hoauth2","full_name":"freizl/hoauth2","owner":{"login":"freizl","id":437427,"avatar_url":"https://avatars2.githubusercontent.com/u/437427?v=3","gravatar_id":"","url":"https://api.github.com/users/freizl","html_url":"https://github.com/freizl","followers_url":"https://api.github.com/users/freizl/followers","following_url":"https://api.github.com/users/freizl/following{/other_user}","gists_url":"https://api.github.com/users/freizl/gists{/gist_id}","starred_url":"https://api.github.com/users/freizl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/freizl/subscriptions","organizations_url":"https://api.github.com/users/freizl/orgs","repos_url":"https://api.github.com/users/freizl/repos","events_url":"https://api.github.com/users/freizl/events{/privacy}","received_events_url":"https://api.github.com/users/freizl/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/freizl/hoauth2","description":"haskell oauth2 binding","fork":false,"url":"https://api.github.com/repos/freizl/hoauth2","forks_url":"https://api.github.com/repos/freizl/hoauth2/forks","keys_url":"https://api.github.com/repos/freizl/hoauth2/keys{/key_id}","collaborators_url":"https://api.github.com/repos/freizl/hoauth2/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/freizl/hoauth2/teams","hooks_url":"https://api.github.com/repos/freizl/hoauth2/hooks","issue_events_url":"https://api.github.com/repos/freizl/hoauth2/issues/events{/number}","events_url":"https://api.github.com/repos/freizl/hoauth2/events","assignees_url":"https://api.github.com/repos/freizl/hoauth2/assignees{/user}","branches_url":"https://api.github.com/repos/freizl/hoauth2/branches{/branch}","tags_url":"https://api.github.com/repos/freizl/hoauth2/tags","blobs_url":"https://api.github.com/repos/freizl/hoauth2/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/freizl/hoauth2/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/freizl/hoauth2/git/refs{/sha}","trees_url":"https://api.github.com/repos/freizl/hoauth2/git/trees{/sha}","statuses_url":"https://api.github.com/repos/freizl/hoauth2/statuses/{sha}","languages_url":"https://api.github.com/repos/freizl/hoauth2/languages","stargazers_url":"https://api.github.com/repos/freizl/hoauth2/stargazers","contributors_url":"https://api.github.com/repos/freizl/hoauth2/contributors","subscribers_url":"https://api.github.com/repos/freizl/hoauth2/subscribers","subscription_url":"https://api.github.com/repos/freizl/hoauth2/subscription","commits_url":"https://api.github.com/repos/freizl/hoauth2/commits{/sha}","git_commits_url":"https://api.github.com/repos/freizl/hoauth2/git/commits{/sha}","comments_url":"https://api.github.com/repos/freizl/hoauth2/comments{/number}","issue_comment_url":"https://api.github.com/repos/freizl/hoauth2/issues/comments{/number}","contents_url":"https://api.github.com/repos/freizl/hoauth2/contents/{+path}","compare_url":"https://api.github.com/repos/freizl/hoauth2/compare/{base}...{head}","merges_url":"https://api.github.com/repos/freizl/hoauth2/merges","archive_url":"https://api.github.com/repos/freizl/hoauth2/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/freizl/hoauth2/downloads","issues_url":"https://api.github.com/repos/freizl/hoauth2/issues{/number}","pulls_url":"https://api.github.com/repos/freizl/hoauth2/pulls{/number}","milestones_url":"https://api.github.com/repos/freizl/hoauth2/milestones{/number}","notifications_url":"https://api.github.com/repos/freizl/hoauth2/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/freizl/hoauth2/labels{/name}","releases_url":"https://api.github.com/repos/freizl/hoauth2/releases{/id}","deployments_url":"https://api.github.com/repos/freizl/hoauth2/deployments","created_at":"2012-04-29T02:19:04Z","updated_at":"2017-04-05T09:32:55Z","pushed_at":"2017-04-06T16:10:18Z","git_url":"git://github.com/freizl/hoauth2.git","ssh_url":"git@github.com:freizl/hoauth2.git","clone_url":"https://github.com/freizl/hoauth2.git","svn_url":"https://github.com/freizl/hoauth2","homepage":"http://hackage.haskell.org/package/hoauth2","size":171,"stargazers_count":59,"watchers_count":59,"language":"Haskell","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":27,"mirror_url":null,"open_issues_count":8,"forks":27,"open_issues":8,"watchers":59,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/freizl/hoauth2/pulls/56"},"html":{"href":"https://github.com/freizl/hoauth2/pull/56"},"issue":{"href":"https://api.github.com/repos/freizl/hoauth2/issues/56"},"comments":{"href":"https://api.github.com/repos/freizl/hoauth2/issues/56/comments"},"review_comments":{"href":"https://api.github.com/repos/freizl/hoauth2/pulls/56/comments"},"review_comment":{"href":"https://api.github.com/repos/freizl/hoauth2/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/freizl/hoauth2/pulls/56/commits"},"statuses":{"href":"https://api.github.com/repos/freizl/hoauth2/statuses/0b714141e300a2c7be0924d8b1cc1855b031a955"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"freizl","id":437427,"avatar_url":"https://avatars2.githubusercontent.com/u/437427?v=3","gravatar_id":"","url":"https://api.github.com/users/freizl","html_url":"https://github.com/freizl","followers_url":"https://api.github.com/users/freizl/followers","following_url":"https://api.github.com/users/freizl/following{/other_user}","gists_url":"https://api.github.com/users/freizl/gists{/gist_id}","starred_url":"https://api.github.com/users/freizl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/freizl/subscriptions","organizations_url":"https://api.github.com/users/freizl/orgs","repos_url":"https://api.github.com/users/freizl/repos","events_url":"https://api.github.com/users/freizl/events{/privacy}","received_events_url":"https://api.github.com/users/freizl/received_events","type":"User","site_admin":false},"comments":10,"review_comments":9,"maintainer_can_modify":false,"commits":10,"additions":234,"deletions":170,"changed_files":13}}
{"actor":{"display_login":"freizl"}}