Skip to content

Webmock breaks HTTP::Client.get(“https…”) with Closed stream (IO::Error) #41

@msa7

Description

@msa7

Webmock breaks

    require "webmock"
    WebMock.allow_net_connect = true
    response = HTTP::Client.get("https://api.exchangeratesapi.io/latest?base=EUR")
    p response

I got exception

Closed stream (IO::Error)
         from /usr/share/crystal/src/io.cr:128:5 in 'check_open'
         from /usr/share/crystal/src/io/buffered.cr:99:5 in 'peek'
         from /usr/share/crystal/src/io.cr:632:37 in 'gets'
         from /usr/share/crystal/src/io.cr:591:5 in 'gets'
         from /usr/share/crystal/src/io.cr:814:5 in 'read_line:chomp'
         from /usr/share/crystal/src/http/content.cr:205:7 in 'read_chunk_size'
         from /usr/share/crystal/src/http/content.cr:187:26 in 'next_chunk'
         from /usr/share/crystal/src/http/content.cr:120:7 in 'read'
         from /usr/share/crystal/src/io.cr:554:29 in 'gets_to_end'
         from /usr/share/crystal/src/http/client/response.cr:81:15 in 'consume_body_io'
         from lib/webmock/src/webmock/core_ext.cr:12:7 in 'exec_internal'
         from /usr/share/crystal/src/http/client.cr:576:5 in 'exec'
         from /usr/share/crystal/src/http/client.cr:698:5 in 'exec'
         from /usr/share/crystal/src/http/client.cr:730:7 in 'exec'
         from /usr/share/crystal/src/http/client.cr:402:3 in ‚get

Without webmock all works as expected.

P.S. Original question https://stackoverflow.com/questions/60847886/closed-stream-ioerror-with-httpclient-gethttps

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions