{"action":"created","comment":{"url":"https://api.github.com/repos/guardian/grid/pulls/comments/42975105","id":42975105,"diff_hunk":"@@ -44,16 +54,12 @@ module.exports = {\n         const uploadRequest = request.post(options);\n \n         return Rx.Observable.create(function(observer){\n+            // check mime type, if not jpeg notify CW, stop!\n+\n             uploadRequest.on(\"response\", function(response){\n-                if(response.statusCode == 202){\n-                    observer.onNext(response);\n-                } else {\n-                    const failMessage =\n-                        \"Failed upload with code: \" + response.statusCode;\n-                    observer.onError(failMessage);\n-                }\n-           });\n-           uploadRequest.on(\"error\", observer.onError.bind(observer));\n+                observer.onNext(uploadResult(response));\n+            });\n+            uploadRequest.on(\"error\", observer.onError.bind(observer));","path":"s3watcher/lib/Upload.js","position":38,"original_position":50,"commit_id":"d3ad8c8eb40c7a6d6a3bd71b09023ad3de8d4b26","original_commit_id":"059415d926aaac818bb4b6d8e944ace765d5b76a","user":{"login":"kenoir","id":953792,"avatar_url":"https://avatars.githubusercontent.com/u/953792?v=3","gravatar_id":"","url":"https://api.github.com/users/kenoir","html_url":"https://github.com/kenoir","followers_url":"https://api.github.com/users/kenoir/followers","following_url":"https://api.github.com/users/kenoir/following{/other_user}","gists_url":"https://api.github.com/users/kenoir/gists{/gist_id}","starred_url":"https://api.github.com/users/kenoir/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kenoir/subscriptions","organizations_url":"https://api.github.com/users/kenoir/orgs","repos_url":"https://api.github.com/users/kenoir/repos","events_url":"https://api.github.com/users/kenoir/events{/privacy}","received_events_url":"https://api.github.com/users/kenoir/received_events","type":"User","site_admin":false},"body":"Couldn't find the definitive answer to this in the docs. After some fiddling in the node console and figuring out how to simulate error responses with `netcat`:\r\n\r\n```sh\r\nwhile true; do { echo -e 'HTTP/1.1 500 NOPE\\r\\n'; } | nc -l 8080; done\r\n```\r\n\r\nIt does not throw an error as long as the server returns a HTTP response (regardless of whether it's a 4xx or 5xx). \r\n","created_at":"2015-10-26T10:05:06Z","updated_at":"2015-10-26T10:05:06Z","html_url":"https://github.com/guardian/grid/pull/1392#discussion_r42975105","pull_request_url":"https://api.github.com/repos/guardian/grid/pulls/1392","_links":{"self":{"href":"https://api.github.com/repos/guardian/grid/pulls/comments/42975105"},"html":{"href":"https://github.com/guardian/grid/pull/1392#discussion_r42975105"},"pull_request":{"href":"https://api.github.com/repos/guardian/grid/pulls/1392"}}},"pull_request":{"url":"https://api.github.com/repos/guardian/grid/pulls/1392","id":48477350,"html_url":"https://github.com/guardian/grid/pull/1392","diff_url":"https://github.com/guardian/grid/pull/1392.diff","patch_url":"https://github.com/guardian/grid/pull/1392.patch","issue_url":"https://api.github.com/repos/guardian/grid/issues/1392","number":1392,"state":"open","locked":false,"title":"Better Lambda fail states and reporting","user":{"login":"kenoir","id":953792,"avatar_url":"https://avatars.githubusercontent.com/u/953792?v=3","gravatar_id":"","url":"https://api.github.com/users/kenoir","html_url":"https://github.com/kenoir","followers_url":"https://api.github.com/users/kenoir/followers","following_url":"https://api.github.com/users/kenoir/following{/other_user}","gists_url":"https://api.github.com/users/kenoir/gists{/gist_id}","starred_url":"https://api.github.com/users/kenoir/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kenoir/subscriptions","organizations_url":"https://api.github.com/users/kenoir/orgs","repos_url":"https://api.github.com/users/kenoir/repos","events_url":"https://api.github.com/users/kenoir/events{/privacy}","received_events_url":"https://api.github.com/users/kenoir/received_events","type":"User","site_admin":false},"body":"- Don't fail Lambda function when upload fails to avoid Lambda retries\r\n- Report successful uploads & failures to CW","created_at":"2015-10-22T16:02:27Z","updated_at":"2015-10-26T10:05:06Z","closed_at":null,"merged_at":null,"merge_commit_sha":"eba7df994fa6ae2a24b137484ad864f6a7c6bdf5","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/guardian/grid/pulls/1392/commits","review_comments_url":"https://api.github.com/repos/guardian/grid/pulls/1392/comments","review_comment_url":"https://api.github.com/repos/guardian/grid/pulls/comments{/number}","comments_url":"https://api.github.com/repos/guardian/grid/issues/1392/comments","statuses_url":"https://api.github.com/repos/guardian/grid/statuses/d3ad8c8eb40c7a6d6a3bd71b09023ad3de8d4b26","head":{"label":"guardian:better-failing","ref":"better-failing","sha":"d3ad8c8eb40c7a6d6a3bd71b09023ad3de8d4b26","user":{"login":"guardian","id":164318,"avatar_url":"https://avatars.githubusercontent.com/u/164318?v=3","gravatar_id":"","url":"https://api.github.com/users/guardian","html_url":"https://github.com/guardian","followers_url":"https://api.github.com/users/guardian/followers","following_url":"https://api.github.com/users/guardian/following{/other_user}","gists_url":"https://api.github.com/users/guardian/gists{/gist_id}","starred_url":"https://api.github.com/users/guardian/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/guardian/subscriptions","organizations_url":"https://api.github.com/users/guardian/orgs","repos_url":"https://api.github.com/users/guardian/repos","events_url":"https://api.github.com/users/guardian/events{/privacy}","received_events_url":"https://api.github.com/users/guardian/received_events","type":"Organization","site_admin":false},"repo":{"id":12298112,"name":"grid","full_name":"guardian/grid","owner":{"login":"guardian","id":164318,"avatar_url":"https://avatars.githubusercontent.com/u/164318?v=3","gravatar_id":"","url":"https://api.github.com/users/guardian","html_url":"https://github.com/guardian","followers_url":"https://api.github.com/users/guardian/followers","following_url":"https://api.github.com/users/guardian/following{/other_user}","gists_url":"https://api.github.com/users/guardian/gists{/gist_id}","starred_url":"https://api.github.com/users/guardian/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/guardian/subscriptions","organizations_url":"https://api.github.com/users/guardian/orgs","repos_url":"https://api.github.com/users/guardian/repos","events_url":"https://api.github.com/users/guardian/events{/privacy}","received_events_url":"https://api.github.com/users/guardian/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/guardian/grid","description":"The Guardian’s new image management system","fork":false,"url":"https://api.github.com/repos/guardian/grid","forks_url":"https://api.github.com/repos/guardian/grid/forks","keys_url":"https://api.github.com/repos/guardian/grid/keys{/key_id}","collaborators_url":"https://api.github.com/repos/guardian/grid/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/guardian/grid/teams","hooks_url":"https://api.github.com/repos/guardian/grid/hooks","issue_events_url":"https://api.github.com/repos/guardian/grid/issues/events{/number}","events_url":"https://api.github.com/repos/guardian/grid/events","assignees_url":"https://api.github.com/repos/guardian/grid/assignees{/user}","branches_url":"https://api.github.com/repos/guardian/grid/branches{/branch}","tags_url":"https://api.github.com/repos/guardian/grid/tags","blobs_url":"https://api.github.com/repos/guardian/grid/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/guardian/grid/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/guardian/grid/git/refs{/sha}","trees_url":"https://api.github.com/repos/guardian/grid/git/trees{/sha}","statuses_url":"https://api.github.com/repos/guardian/grid/statuses/{sha}","languages_url":"https://api.github.com/repos/guardian/grid/languages","stargazers_url":"https://api.github.com/repos/guardian/grid/stargazers","contributors_url":"https://api.github.com/repos/guardian/grid/contributors","subscribers_url":"https://api.github.com/repos/guardian/grid/subscribers","subscription_url":"https://api.github.com/repos/guardian/grid/subscription","commits_url":"https://api.github.com/repos/guardian/grid/commits{/sha}","git_commits_url":"https://api.github.com/repos/guardian/grid/git/commits{/sha}","comments_url":"https://api.github.com/repos/guardian/grid/comments{/number}","issue_comment_url":"https://api.github.com/repos/guardian/grid/issues/comments{/number}","contents_url":"https://api.github.com/repos/guardian/grid/contents/{+path}","compare_url":"https://api.github.com/repos/guardian/grid/compare/{base}...{head}","merges_url":"https://api.github.com/repos/guardian/grid/merges","archive_url":"https://api.github.com/repos/guardian/grid/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/guardian/grid/downloads","issues_url":"https://api.github.com/repos/guardian/grid/issues{/number}","pulls_url":"https://api.github.com/repos/guardian/grid/pulls{/number}","milestones_url":"https://api.github.com/repos/guardian/grid/milestones{/number}","notifications_url":"https://api.github.com/repos/guardian/grid/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/guardian/grid/labels{/name}","releases_url":"https://api.github.com/repos/guardian/grid/releases{/id}","created_at":"2013-08-22T13:49:31Z","updated_at":"2015-10-21T19:42:40Z","pushed_at":"2015-10-26T09:24:23Z","git_url":"git://github.com/guardian/grid.git","ssh_url":"git@github.com:guardian/grid.git","clone_url":"https://github.com/guardian/grid.git","svn_url":"https://github.com/guardian/grid","homepage":"","size":23871,"stargazers_count":940,"watchers_count":940,"language":"Scala","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":47,"mirror_url":null,"open_issues_count":58,"forks":47,"open_issues":58,"watchers":940,"default_branch":"master"}},"base":{"label":"guardian:master","ref":"master","sha":"f0ae7da0561b50ae1bbcdeeebb4ea36379a71de0","user":{"login":"guardian","id":164318,"avatar_url":"https://avatars.githubusercontent.com/u/164318?v=3","gravatar_id":"","url":"https://api.github.com/users/guardian","html_url":"https://github.com/guardian","followers_url":"https://api.github.com/users/guardian/followers","following_url":"https://api.github.com/users/guardian/following{/other_user}","gists_url":"https://api.github.com/users/guardian/gists{/gist_id}","starred_url":"https://api.github.com/users/guardian/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/guardian/subscriptions","organizations_url":"https://api.github.com/users/guardian/orgs","repos_url":"https://api.github.com/users/guardian/repos","events_url":"https://api.github.com/users/guardian/events{/privacy}","received_events_url":"https://api.github.com/users/guardian/received_events","type":"Organization","site_admin":false},"repo":{"id":12298112,"name":"grid","full_name":"guardian/grid","owner":{"login":"guardian","id":164318,"avatar_url":"https://avatars.githubusercontent.com/u/164318?v=3","gravatar_id":"","url":"https://api.github.com/users/guardian","html_url":"https://github.com/guardian","followers_url":"https://api.github.com/users/guardian/followers","following_url":"https://api.github.com/users/guardian/following{/other_user}","gists_url":"https://api.github.com/users/guardian/gists{/gist_id}","starred_url":"https://api.github.com/users/guardian/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/guardian/subscriptions","organizations_url":"https://api.github.com/users/guardian/orgs","repos_url":"https://api.github.com/users/guardian/repos","events_url":"https://api.github.com/users/guardian/events{/privacy}","received_events_url":"https://api.github.com/users/guardian/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/guardian/grid","description":"The Guardian’s new image management system","fork":false,"url":"https://api.github.com/repos/guardian/grid","forks_url":"https://api.github.com/repos/guardian/grid/forks","keys_url":"https://api.github.com/repos/guardian/grid/keys{/key_id}","collaborators_url":"https://api.github.com/repos/guardian/grid/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/guardian/grid/teams","hooks_url":"https://api.github.com/repos/guardian/grid/hooks","issue_events_url":"https://api.github.com/repos/guardian/grid/issues/events{/number}","events_url":"https://api.github.com/repos/guardian/grid/events","assignees_url":"https://api.github.com/repos/guardian/grid/assignees{/user}","branches_url":"https://api.github.com/repos/guardian/grid/branches{/branch}","tags_url":"https://api.github.com/repos/guardian/grid/tags","blobs_url":"https://api.github.com/repos/guardian/grid/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/guardian/grid/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/guardian/grid/git/refs{/sha}","trees_url":"https://api.github.com/repos/guardian/grid/git/trees{/sha}","statuses_url":"https://api.github.com/repos/guardian/grid/statuses/{sha}","languages_url":"https://api.github.com/repos/guardian/grid/languages","stargazers_url":"https://api.github.com/repos/guardian/grid/stargazers","contributors_url":"https://api.github.com/repos/guardian/grid/contributors","subscribers_url":"https://api.github.com/repos/guardian/grid/subscribers","subscription_url":"https://api.github.com/repos/guardian/grid/subscription","commits_url":"https://api.github.com/repos/guardian/grid/commits{/sha}","git_commits_url":"https://api.github.com/repos/guardian/grid/git/commits{/sha}","comments_url":"https://api.github.com/repos/guardian/grid/comments{/number}","issue_comment_url":"https://api.github.com/repos/guardian/grid/issues/comments{/number}","contents_url":"https://api.github.com/repos/guardian/grid/contents/{+path}","compare_url":"https://api.github.com/repos/guardian/grid/compare/{base}...{head}","merges_url":"https://api.github.com/repos/guardian/grid/merges","archive_url":"https://api.github.com/repos/guardian/grid/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/guardian/grid/downloads","issues_url":"https://api.github.com/repos/guardian/grid/issues{/number}","pulls_url":"https://api.github.com/repos/guardian/grid/pulls{/number}","milestones_url":"https://api.github.com/repos/guardian/grid/milestones{/number}","notifications_url":"https://api.github.com/repos/guardian/grid/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/guardian/grid/labels{/name}","releases_url":"https://api.github.com/repos/guardian/grid/releases{/id}","created_at":"2013-08-22T13:49:31Z","updated_at":"2015-10-21T19:42:40Z","pushed_at":"2015-10-26T09:24:23Z","git_url":"git://github.com/guardian/grid.git","ssh_url":"git@github.com:guardian/grid.git","clone_url":"https://github.com/guardian/grid.git","svn_url":"https://github.com/guardian/grid","homepage":"","size":23871,"stargazers_count":940,"watchers_count":940,"language":"Scala","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":47,"mirror_url":null,"open_issues_count":58,"forks":47,"open_issues":58,"watchers":940,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/guardian/grid/pulls/1392"},"html":{"href":"https://github.com/guardian/grid/pull/1392"},"issue":{"href":"https://api.github.com/repos/guardian/grid/issues/1392"},"comments":{"href":"https://api.github.com/repos/guardian/grid/issues/1392/comments"},"review_comments":{"href":"https://api.github.com/repos/guardian/grid/pulls/1392/comments"},"review_comment":{"href":"https://api.github.com/repos/guardian/grid/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/guardian/grid/pulls/1392/commits"},"statuses":{"href":"https://api.github.com/repos/guardian/grid/statuses/d3ad8c8eb40c7a6d6a3bd71b09023ad3de8d4b26"}}}}