{"action":"created","issue":{"url":"https://api.github.com/repos/Wyamio/Wyam/issues/42","labels_url":"https://api.github.com/repos/Wyamio/Wyam/issues/42/labels{/name}","comments_url":"https://api.github.com/repos/Wyamio/Wyam/issues/42/comments","events_url":"https://api.github.com/repos/Wyamio/Wyam/issues/42/events","html_url":"https://github.com/Wyamio/Wyam/issues/42","id":98814876,"number":42,"title":"Use streams for document content","user":{"login":"daveaglick","id":1020407,"avatar_url":"https://avatars.githubusercontent.com/u/1020407?v=3","gravatar_id":"","url":"https://api.github.com/users/daveaglick","html_url":"https://github.com/daveaglick","followers_url":"https://api.github.com/users/daveaglick/followers","following_url":"https://api.github.com/users/daveaglick/following{/other_user}","gists_url":"https://api.github.com/users/daveaglick/gists{/gist_id}","starred_url":"https://api.github.com/users/daveaglick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/daveaglick/subscriptions","organizations_url":"https://api.github.com/users/daveaglick/orgs","repos_url":"https://api.github.com/users/daveaglick/repos","events_url":"https://api.github.com/users/daveaglick/events{/privacy}","received_events_url":"https://api.github.com/users/daveaglick/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-08-03T18:49:52Z","updated_at":"2015-08-05T20:48:41Z","closed_at":null,"body":"Instead of strings, use streams for binary content (see discussion in #25). This will allow documents to contain string or binary content. It should also yield better performance in some cases where transformations are optimized for streaming data (instead of having to read into a string). Will need to convert all existing modules over to streams. Should also add convenience getters and setters to convert from the stream from/to byte arrays and strings (in the case of getting data, handle reading the stream into the array and vise versa for setters)."},"comment":{"url":"https://api.github.com/repos/Wyamio/Wyam/issues/comments/128143452","html_url":"https://github.com/Wyamio/Wyam/issues/42#issuecomment-128143452","issue_url":"https://api.github.com/repos/Wyamio/Wyam/issues/42","id":128143452,"user":{"login":"daveaglick","id":1020407,"avatar_url":"https://avatars.githubusercontent.com/u/1020407?v=3","gravatar_id":"","url":"https://api.github.com/users/daveaglick","html_url":"https://github.com/daveaglick","followers_url":"https://api.github.com/users/daveaglick/followers","following_url":"https://api.github.com/users/daveaglick/following{/other_user}","gists_url":"https://api.github.com/users/daveaglick/gists{/gist_id}","starred_url":"https://api.github.com/users/daveaglick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/daveaglick/subscriptions","organizations_url":"https://api.github.com/users/daveaglick/orgs","repos_url":"https://api.github.com/users/daveaglick/repos","events_url":"https://api.github.com/users/daveaglick/events{/privacy}","received_events_url":"https://api.github.com/users/daveaglick/received_events","type":"User","site_admin":false},"created_at":"2015-08-05T20:48:41Z","updated_at":"2015-08-05T20:48:41Z","body":"@dodyg - I still have some work to do to get all the in-built modules to use streams instead of strings, but both `ReadFiles` and `WriteFiles` now use the stream directly. The latest on the develop branch should be enough for you to start using with the `ImageProcessor` module (#25). You shouldn't need the `ProcessFiles` module any more: reading with `ReadFiles` should populate the `IDocument.Stream` property, which the image module can then directly read from to get the binary data. Just make sure that when cloning the return document with modifications you use one of the `IDocument.Clone(...)` overrides that takes a `Stream`."}}