{"action":"opened","issue":{"url":"https://api.github.com/repos/micropython/webrepl/issues/27","repository_url":"https://api.github.com/repos/micropython/webrepl","labels_url":"https://api.github.com/repos/micropython/webrepl/issues/27/labels{/name}","comments_url":"https://api.github.com/repos/micropython/webrepl/issues/27/comments","events_url":"https://api.github.com/repos/micropython/webrepl/issues/27/events","html_url":"https://github.com/micropython/webrepl/issues/27","id":208670215,"number":27,"title":"Attempting to GET a non-existent file crashes webrepl on device","user":{"login":"ARF1","id":5834577,"avatar_url":"https://avatars.githubusercontent.com/u/5834577?v=3","gravatar_id":"","url":"https://api.github.com/users/ARF1","html_url":"https://github.com/ARF1","followers_url":"https://api.github.com/users/ARF1/followers","following_url":"https://api.github.com/users/ARF1/following{/other_user}","gists_url":"https://api.github.com/users/ARF1/gists{/gist_id}","starred_url":"https://api.github.com/users/ARF1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ARF1/subscriptions","organizations_url":"https://api.github.com/users/ARF1/orgs","repos_url":"https://api.github.com/users/ARF1/repos","events_url":"https://api.github.com/users/ARF1/events{/privacy}","received_events_url":"https://api.github.com/users/ARF1/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-02-18T20:43:51Z","updated_at":"2017-02-18T20:43:51Z","closed_at":null,"body":"If one attempts to `GET` a non-existent file, the webrepl connection crashes. (It disconnects.)\r\n\r\nOn the UART the following message is printed:\r\n`dupterm: Exception in read() method, deactivating: OSError: [Errno 2] ENOENT\r\n`\r\n\r\nCatching invalid filenames (i.e. typos) is probably a must-have feature if non-experts are a target user-group for the webrepl.\r\n\r\nI have been looking into the issue an by best guess seems to be [this line](https://github.com/micropython/micropython/blob/master/extmod/modwebrepl.c#L155). That said, I am not sure what `read()` method micropython is talking about. Is there any way of making such error messages a bit more explicit? I.e. by mentioning the object/class that defines the method mentioned?"}}
{"actor":{"display_login":"ARF1"}}