{"action":"created","issue":{"url":"https://api.github.com/repos/mrkkrp/zip/issues/20","repository_url":"https://api.github.com/repos/mrkkrp/zip","labels_url":"https://api.github.com/repos/mrkkrp/zip/issues/20/labels{/name}","comments_url":"https://api.github.com/repos/mrkkrp/zip/issues/20/comments","events_url":"https://api.github.com/repos/mrkkrp/zip/issues/20/events","html_url":"https://github.com/mrkkrp/zip/issues/20","id":168227644,"number":20,"title":"Blind Archive support.","user":{"login":"robertLeeGDM","id":1470224,"avatar_url":"https://avatars.githubusercontent.com/u/1470224?v=3","gravatar_id":"","url":"https://api.github.com/users/robertLeeGDM","html_url":"https://github.com/robertLeeGDM","followers_url":"https://api.github.com/users/robertLeeGDM/followers","following_url":"https://api.github.com/users/robertLeeGDM/following{/other_user}","gists_url":"https://api.github.com/users/robertLeeGDM/gists{/gist_id}","starred_url":"https://api.github.com/users/robertLeeGDM/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robertLeeGDM/subscriptions","organizations_url":"https://api.github.com/users/robertLeeGDM/orgs","repos_url":"https://api.github.com/users/robertLeeGDM/repos","events_url":"https://api.github.com/users/robertLeeGDM/events{/privacy}","received_events_url":"https://api.github.com/users/robertLeeGDM/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mrkkrp/zip/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/mrkkrp/zip/labels/feature-request","name":"feature-request","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":12,"created_at":"2016-07-29T00:41:01Z","updated_at":"2016-08-07T19:04:46Z","closed_at":null,"body":"I wanted to create a Handle independent of the zip module. I believe what I have is working currently. If you want I can create a pull request. If you want to see the code it is in my repo.\r\n```haskell\r\nmain = do\r\n  let rubbishFileName = \"rubbishfile\"\r\n  h <- openFile rubbishFileName ReadWriteMode\r\n  removeFile rubbishFileName\r\n  hSetBinaryMode h True          \r\n             \r\n  !leftovers <- createBlindArchive h $ do\r\n    setArchiveComment \"This archive is just a test\"\r\n    parseRelFile \"./lmn/foo\" >>= mkEntrySelector >>= addEntry Store \"this is the file content\"\r\n\r\n  hSeek h AbsoluteSeek 0 \r\n\r\n  arch <- openFile \"archive.zip\" ReadWriteMode\r\n  hSetBinaryMode arch True          \r\n\r\n  hGetContents h >>= hPutStr arch\r\n\r\n  hClose arch\r\n  print leftovers\r\n```\r\nI can safely write data to the archive w/o actually exposing it to the filesystem unless I want to. The hPutStr could just as well be to a socket or a conduit to an httpd service, etc."},"comment":{"url":"https://api.github.com/repos/mrkkrp/zip/issues/comments/238101581","html_url":"https://github.com/mrkkrp/zip/issues/20#issuecomment-238101581","issue_url":"https://api.github.com/repos/mrkkrp/zip/issues/20","id":238101581,"user":{"login":"robertLeeGDM","id":1470224,"avatar_url":"https://avatars.githubusercontent.com/u/1470224?v=3","gravatar_id":"","url":"https://api.github.com/users/robertLeeGDM","html_url":"https://github.com/robertLeeGDM","followers_url":"https://api.github.com/users/robertLeeGDM/followers","following_url":"https://api.github.com/users/robertLeeGDM/following{/other_user}","gists_url":"https://api.github.com/users/robertLeeGDM/gists{/gist_id}","starred_url":"https://api.github.com/users/robertLeeGDM/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robertLeeGDM/subscriptions","organizations_url":"https://api.github.com/users/robertLeeGDM/orgs","repos_url":"https://api.github.com/users/robertLeeGDM/repos","events_url":"https://api.github.com/users/robertLeeGDM/events{/privacy}","received_events_url":"https://api.github.com/users/robertLeeGDM/received_events","type":"User","site_admin":false},"created_at":"2016-08-07T19:04:46Z","updated_at":"2016-08-07T19:04:46Z","body":"Would you like me to delay the PR until I add a set of tests to the\ntest suite or just get the working code to you first?\nOn Wed, 2016-08-03 at 23:43 -0700, Mark Karpov wrote:\n> > OK, you can go ahead with PR, but please preserve backward-\ncompatibility in API.\n> \n> —\n> You are receiving this because you authored the thread.\n> Reply to this email directly, view it on GitHub, or mute the thread.\n> \n> \n>   \n>   \n> \n> \n> \n> \n> \n> \n> > > > > > > > > > > > > > {\"api_version\":\"1.0\",\"publisher\":{\"api_key\":\"05dde50f1d1a384dd78767c5\n5493e4bb\",\"name\":\"GitHub\"},\"entity\":{\"external_key\":\"github/mrkkrp/zi\np\",\"title\":\"mrkkrp/zip\",\"subtitle\":\"GitHub\nrepository\",\"main_image_url\":\"https://assets-cdn.github.com/images/mo\ndules/aws/aws-\nbg.jpg\",\"avatar_image_url\":\"https://cloud.githubusercontent.com/asset\ns/143418/15842166/7c72db34-2c0b-11e6-9aed-\nb52498112777.png\",\"action\":{\"name\":\"Open in\nGitHub\",\"url\":\"https://github.com/mrkkrp/zip\"}},\"updates\":{\"snippets\"\n:[{\"icon\":\"PERSON\",\"message\":\"@mrkkrp in #20: OK, you can go ahead\nwith PR, but please preserve backward-compatibility in\nAPI.\"}],\"action\":{\"name\":\"View\nIssue\",\"url\":\"https://github.com/mrkkrp/zip/issues/20#issuecomment-\n237466433\"}}}\n"}}
{"actor":{"display_login":"robertLeeGDM"}}