{"action":"created","issue":{"url":"https://api.github.com/repos/oasis-open/cti-python-stix2/issues/113","repository_url":"https://api.github.com/repos/oasis-open/cti-python-stix2","labels_url":"https://api.github.com/repos/oasis-open/cti-python-stix2/issues/113/labels{/name}","comments_url":"https://api.github.com/repos/oasis-open/cti-python-stix2/issues/113/comments","events_url":"https://api.github.com/repos/oasis-open/cti-python-stix2/issues/113/events","html_url":"https://github.com/oasis-open/cti-python-stix2/issues/113","id":275402287,"number":113,"title":"TAXIICollectionSource should capture HTTP errors","user":{"login":"gtback","id":1045796,"avatar_url":"https://avatars1.githubusercontent.com/u/1045796?v=4","gravatar_id":"","url":"https://api.github.com/users/gtback","html_url":"https://github.com/gtback","followers_url":"https://api.github.com/users/gtback/followers","following_url":"https://api.github.com/users/gtback/following{/other_user}","gists_url":"https://api.github.com/users/gtback/gists{/gist_id}","starred_url":"https://api.github.com/users/gtback/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gtback/subscriptions","organizations_url":"https://api.github.com/users/gtback/orgs","repos_url":"https://api.github.com/users/gtback/repos","events_url":"https://api.github.com/users/gtback/events{/privacy}","received_events_url":"https://api.github.com/users/gtback/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"mbastian1135","id":7109639,"avatar_url":"https://avatars0.githubusercontent.com/u/7109639?v=4","gravatar_id":"","url":"https://api.github.com/users/mbastian1135","html_url":"https://github.com/mbastian1135","followers_url":"https://api.github.com/users/mbastian1135/followers","following_url":"https://api.github.com/users/mbastian1135/following{/other_user}","gists_url":"https://api.github.com/users/mbastian1135/gists{/gist_id}","starred_url":"https://api.github.com/users/mbastian1135/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbastian1135/subscriptions","organizations_url":"https://api.github.com/users/mbastian1135/orgs","repos_url":"https://api.github.com/users/mbastian1135/repos","events_url":"https://api.github.com/users/mbastian1135/events{/privacy}","received_events_url":"https://api.github.com/users/mbastian1135/received_events","type":"User","site_admin":false},"assignees":[{"login":"mbastian1135","id":7109639,"avatar_url":"https://avatars0.githubusercontent.com/u/7109639?v=4","gravatar_id":"","url":"https://api.github.com/users/mbastian1135","html_url":"https://github.com/mbastian1135","followers_url":"https://api.github.com/users/mbastian1135/followers","following_url":"https://api.github.com/users/mbastian1135/following{/other_user}","gists_url":"https://api.github.com/users/mbastian1135/gists{/gist_id}","starred_url":"https://api.github.com/users/mbastian1135/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbastian1135/subscriptions","organizations_url":"https://api.github.com/users/mbastian1135/orgs","repos_url":"https://api.github.com/users/mbastian1135/repos","events_url":"https://api.github.com/users/mbastian1135/events{/privacy}","received_events_url":"https://api.github.com/users/mbastian1135/received_events","type":"User","site_admin":false}],"milestone":null,"comments":6,"created_at":"2017-11-20T15:49:23Z","updated_at":"2018-05-02T21:40:57Z","closed_at":null,"author_association":"MEMBER","body":"Wrap calls to `get_object` and `get_objects`, catch an HTTP 404 or other errors, and return `None` or an empty list as appropriate."},"comment":{"url":"https://api.github.com/repos/oasis-open/cti-python-stix2/issues/comments/386130274","html_url":"https://github.com/oasis-open/cti-python-stix2/issues/113#issuecomment-386130274","issue_url":"https://api.github.com/repos/oasis-open/cti-python-stix2/issues/113","id":386130274,"user":{"login":"gtback","id":1045796,"avatar_url":"https://avatars1.githubusercontent.com/u/1045796?v=4","gravatar_id":"","url":"https://api.github.com/users/gtback","html_url":"https://github.com/gtback","followers_url":"https://api.github.com/users/gtback/followers","following_url":"https://api.github.com/users/gtback/following{/other_user}","gists_url":"https://api.github.com/users/gtback/gists{/gist_id}","starred_url":"https://api.github.com/users/gtback/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gtback/subscriptions","organizations_url":"https://api.github.com/users/gtback/orgs","repos_url":"https://api.github.com/users/gtback/repos","events_url":"https://api.github.com/users/gtback/events{/privacy}","received_events_url":"https://api.github.com/users/gtback/received_events","type":"User","site_admin":false},"created_at":"2018-05-02T21:40:57Z","updated_at":"2018-05-02T21:40:57Z","author_association":"MEMBER","body":"I'm OK with TAXII servers that return a 404 when they want to pretend that a resource doesn't exist. GitHub does that for private repos and other URLs. \r\n\r\nI think I was a bit too ambitious with the original description. For a 404 error on `/objects/<guid>`, I think returning None makes sense. If `/objects` returns an error (for query/get_objects), we should probably raise an exception. If `query` returns no results, then return an empty list. We may want to check some of the required metadata for a Collection passed into TAXIICollectionDataSource, to see if the Collection URL is valid (for the provided name/password), and then raise an error even before the call to query."}}
{"actor":{"display_login":"gtback"}}