On Thu, Jul 6, 2017 at 1:37 AM, Yaron Minsky <yminsky@janestreet.com> wrote:
The fact that you're ignoring the result of Pipe.iter is concerning. That function should return a deferred that becomes determined once the iteration is complete. It's hard to say without having a bit more of the program, but I suspect the bug is related to that.

The following fragment seems to do the trick.

```
     fun () : unit Deferred.Or_error.t ->
       Async_client.post ... uri >>= fun (_, body) ->
       Async.Pipe.iter
         ~continue_on_error:true
         ~f:(fun s -> Deferred.return (printf "%s" s))
         (Cohttp_async.Body.to_pipe body) >>| fun () ->
       Ok ()
```​
​Thanks again.​

--
Shayne Fletcher