resend 0.13.0 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 88fd301936753cf4555887e51fb36c8831944a2b52408ba770d783049a50ef75
4
- data.tar.gz: 6f686bcc1820cf21dc96c12bb19cee79ad25773231951bdfa133316f855e2581
3
+ metadata.gz: f0e67dbad71b9cb9f973da1f6502eb56200d7f1b14c04d61e54a2667c9fa6256
4
+ data.tar.gz: 7e451c94a32672e28c01ee30fcb21c1a03fdedc714b7ea89ef1e37af8bc8633c
5
5
  SHA512:
6
- metadata.gz: 432c540a94ce5cacef32745881d63e0981b8e37d3a811cf0e1924faddc5f7a3e2e3563c8c31350b93be45d2028bc69c93915b029f5a4415cc06421e30094a894
7
- data.tar.gz: 5e76491e91bf941a5c4846a55faf953d3f80a48293fd939e9f210349d04c0b67069460bfa6eca39b87ecd6d6ea452ff27fb14b2b836a95e84e2230da9ca898cc
6
+ metadata.gz: 9fdb85310827bfde2e36ac65c5715ec45e503d151ec49ea56f6395fbccf1b967916b59039e9bd80566b8ec1babe706e7737130ef68f976b31693049b708ab0c6
7
+ data.tar.gz: f5cab30d484e6dd386da48f16b7ac03c207c8a975a3d7550e84642e0872222c5510d399f38b44746546b04d1a78ee8da07bed6af5347bf2566f05599c94acbc8
@@ -34,6 +34,9 @@ module Resend
34
34
 
35
35
  options[:body] = @body.to_json unless @body.empty?
36
36
  resp = HTTParty.send(@verb.to_sym, "#{BASE_URL}#{@path}", options)
37
+
38
+ check_json!(resp)
39
+
37
40
  resp.transform_keys!(&:to_sym) unless resp.body.empty?
38
41
  handle_error!(resp) if resp[:statusCode] && (resp[:statusCode] != 200 || resp[:statusCode] != 201)
39
42
  resp
@@ -45,5 +48,17 @@ module Resend
45
48
  error = Resend::Error::ERRORS[code]
46
49
  raise(error.new(body, code)) if error
47
50
  end
51
+
52
+ private
53
+
54
+ def check_json!(resp)
55
+ if resp.body.is_a?(Hash)
56
+ JSON.parse(resp.body.to_json)
57
+ else
58
+ JSON.parse(resp.body)
59
+ end
60
+ rescue JSON::ParserError, TypeError
61
+ raise Resend::Error::InternalServerError.new("Resend API returned an unexpected response", nil)
62
+ end
48
63
  end
49
64
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Resend
4
- VERSION = "0.13.0"
4
+ VERSION = "0.14.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: resend
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Derich Pacheco
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-15 00:00:00.000000000 Z
11
+ date: 2024-11-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty