wreq-rb 0.3.2 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a050d3455249d7a8d80fbe042f13360caee9e205e466a6955df3720ad8567a5e
4
- data.tar.gz: 8742ec45bcfc490b1ef03918e71b45fe1f51bdadd4c2c536c0b16fd3a52fd903
3
+ metadata.gz: e740cdb86a8ba12a9ee11c05d951dca2076e057e311d337a572f4366cbfdf300
4
+ data.tar.gz: 531dcdab2a8319711c4086f836f64b2b5a34de3359275a93f55d6a66b3e0de1e
5
5
  SHA512:
6
- metadata.gz: 93eaf342768b5236d68b4637ead4e39d562b421438644f05ff1074499cbbdb7490dcf7f2012a436b599acd20d85e446e2d74abaf4397d8ff2f67870c067ab23e
7
- data.tar.gz: d6c6209500402f16ac285fff0482c975f7e5c39c51c92adaf4755b56b25cfd33095d9745f571c87a59b8b02fec2a7a5fdc278034d1e7691deb8962cf8ac1b2de
6
+ metadata.gz: c69e832d944cdb0c08cb45450dca100826ec724cbc8672220dd729d4567226ab27ef43d2a3085a1b89d2db8ef788febd628aaccfaa20f1a5963a916f09dd9c11
7
+ data.tar.gz: 7996c31fb9f4bf8e05a00eb6435e9177c431ad50a3a3e3720cb3737ac2beafd18ceda048090d96a08c4b6ed9bfb9bd7c7d16d5e0a9b8099d1750bea8797df119
data/Cargo.lock CHANGED
@@ -2537,7 +2537,7 @@ dependencies = [
2537
2537
 
2538
2538
  [[package]]
2539
2539
  name = "wreq_rb"
2540
- version = "0.3.2"
2540
+ version = "0.3.3"
2541
2541
  dependencies = [
2542
2542
  "bytes",
2543
2543
  "http",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "wreq_rb"
3
- version = "0.3.2"
3
+ version = "0.3.3"
4
4
  edition = "2021"
5
5
  publish = false
6
6
 
@@ -1,5 +1,5 @@
1
1
  use magnus::{
2
- method, prelude::*, Module, RHash, Ruby, Value,
2
+ method, prelude::*, Module, RArray, RHash, Ruby, Value,
3
3
  };
4
4
 
5
5
  use crate::error::generic_error;
@@ -53,7 +53,17 @@ impl Response {
53
53
  let ruby = unsafe { Ruby::get_unchecked() };
54
54
  let hash = ruby.hash_new();
55
55
  for (k, v) in &self.headers {
56
- hash.aset(k.as_str(), v.as_str())?;
56
+ let key = k.as_str();
57
+ let existing: Value = hash.aref(key)?;
58
+ if existing.is_nil() {
59
+ let ary = ruby.ary_new();
60
+ ary.push(v.as_str())?;
61
+ hash.aset(key, ary)?;
62
+ } else {
63
+ let ary = RArray::from_value(existing)
64
+ .ok_or_else(|| generic_error("expected array in headers hash"))?;
65
+ ary.push(v.as_str())?;
66
+ }
57
67
  }
58
68
  Ok(hash)
59
69
  }
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Wreq
4
- VERSION = "0.3.2"
4
+ VERSION = "0.3.3"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wreq-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yicheng Zhou