crest

HTTP and REST client for Crystal

MIT License

Stars
234
Committers
15

Bot releases are hidden (Show)

crest - v1.4.1 Latest Release

Published by mamantoha 3 months ago

What's Changed

Full Changelog: https://github.com/mamantoha/crest/compare/v1.4.0...v1.4.1

crest - 777 Commits 🥳

Published by mamantoha 3 months ago

What's Changed

  • Fix typo in README.md by @kojix2 in #223
  • Fix to changes in HTTP::Client by @mamantoha in #224
  • Rewrite specs without Kemal and enable Windows CI @mamantoha in #226

New Contributors

Full Changelog: https://github.com/mamantoha/crest/compare/v1.3.13...v1.4.0

crest - v1.3.13

Published by mamantoha 7 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/mamantoha/crest/compare/v1.3.12...v1.3.13

crest - v1.3.12

Published by mamantoha about 1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/mamantoha/crest/compare/v1.3.11...v1.3.12

crest - v1.3.11

Published by mamantoha over 1 year ago

What's Changed

Full Changelog: https://github.com/mamantoha/crest/compare/v1.3.10...v1.3.11

crest - v1.3.10

Published by mamantoha over 1 year ago

What's Changed

Full Changelog: https://github.com/mamantoha/crest/compare/v1.3.9...v1.3.10

crest - v1.3.9

Published by mamantoha over 1 year ago

What's Changed

Full Changelog: https://github.com/mamantoha/crest/compare/v1.3.8...v1.3.9

crest - v1.3.8

Published by mamantoha over 1 year ago

What's Changed

  • Do not merge request headers into the response in #203. Fixes #201

Full Changelog: https://github.com/mamantoha/crest/compare/v1.3.7...v1.3.8

crest - Support Crystal 1.7.0

Published by mamantoha almost 2 years ago

crest - v1.3.6

Published by mamantoha about 2 years ago

What's Changed

Full Changelog: https://github.com/mamantoha/crest/compare/v1.3.5...v1.3.6

crest - v1.3.5

Published by mamantoha about 2 years ago

What's Changed

Full Changelog: https://github.com/mamantoha/crest/compare/v1.3.4...v1.3.5

crest - v1.3.4

Published by mamantoha about 2 years ago

What's Changed

Full Changelog: https://github.com/mamantoha/crest/compare/v1.3.3...v1.3.4

crest - v1.3.3

Published by mamantoha about 2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/mamantoha/crest/compare/v1.3.2...v1.3.3

crest - Support encoding JSON::Any as hash values

Published by mamantoha about 2 years ago

What's Changed

Full Changelog: https://github.com/mamantoha/crest/compare/v1.3.1...v1.3.2

crest - Multipart form with IO

Published by mamantoha over 2 years ago

What's Changed

Full Changelog: https://github.com/mamantoha/crest/compare/v1.3.0...v1.3.1

crest - Upload File/IO::Memory/Bytes directly

Published by mamantoha over 2 years ago

What's Changed

Full Changelog: https://github.com/mamantoha/crest/compare/v1.2.1...v1.3.0

crest - v1.2.1

Published by mamantoha over 2 years ago

What's Changed

  • Pass tsl parameter in redirects
  • Set HTTP::Client#tsl only for https requests

Full Changelog: https://github.com/mamantoha/crest/compare/v1.2.0...v1.2.1

crest - Crest::ParamsDecoder

Published by mamantoha over 2 years ago

What's Changed

  • (breaking-change) #decode method extracted from Crest::ParamsEncoder to Crest::ParamsDecoder by @mamantoha in https://github.com/mamantoha/crest/pull/170

    query = "size=small&topping[1]=bacon&topping[2]=onion"
    Crest::ParamsDecoder.decode(query)
    # => {"size" => "small", "topping" => ["bacon", "onion"]}
    
    
  • Add Crest::EnumeratedFlatParamsEncoder by @mamantoha in https://github.com/mamantoha/crest/pull/170

    response = Crest.post(
      "http://httpbin.org/post",
      {"size" => "small", "topping" => ["bacon", "onion"]},
      params_encoder: Crest::EnumeratedFlatParamsEncoder
    )
    # => curl -X POST http://httpbin.org/post -d 'size=small&topping[1]=bacon&topping[2]=onion' -H 'Content-Type: application/x-www-form-urlencoded'
    
  • Expose timeout options by @mamantoha in https://github.com/mamantoha/crest/pull/171

Full Changelog: https://github.com/mamantoha/crest/compare/v1.1.0...v1.2.0

crest - Custom params encoders

Published by mamantoha over 2 years ago

What's Changed

  • Tested with Crystal 1.3.0

  • Accept Float32 and Float64 as params value by @mamantoha in https://github.com/mamantoha/crest/pull/166

  • Add read_timeout support by @kates in https://github.com/mamantoha/crest/pull/169

  • Add custom params encoders by @mamantoha in https://github.com/mamantoha/crest/pull/167
    (thanks @cyangle for the idea in https://github.com/mamantoha/crest/pull/162)

    It is now possible to use a custom params encoder. For example Crest::NestedParamsEncoder:

    response = Crest.post(
      "http://httpbin.org/post",
      {"size" => "small", "topping" => ["bacon", "onion"]},
      params_encoder: Crest::NestedParamsEncoder
    )
    # => curl -X POST http://httpbin.org/post -d 'size=small&topping=bacon&topping=onion' -H 'Content-Type: application/x-www-form-urlencoded'
    

    By defaulf Crest::FlatParamsEncoder is used:

    response = Crest.post(
      "http://httpbin.org/post",
      {"size" => "small", "topping" => ["bacon", "onion"]}
    )
    # => curl -X POST http://httpbin.org/post -d 'size=small&topping[]=bacon&topping[]=onion' -H 'Content-Type: application/x-www-form-urlencoded'
    

New Contributors

Full Changelog: https://github.com/mamantoha/crest/compare/v1.0.1...v1.1.0

crest - v1.0.1

Published by mamantoha almost 3 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/mamantoha/crest/compare/v1.0.0...v1.0.1