noresponse 2.1.6 → 2.1.8

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.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/lib/no_response/late_results.rb +31 -0
  3. data/lib/no_response/models/operations/listwebhookdeliveries_request.rb +45 -0
  4. data/lib/no_response/models/operations/listwebhookdeliveries_request.rbi +26 -0
  5. data/lib/no_response/models/operations/listwebhookdeliveries_response.rb +44 -0
  6. data/lib/no_response/models/operations/listwebhookdeliveries_response.rbi +20 -0
  7. data/lib/no_response/models/operations/replaywebhookdelivery_request.rb +37 -0
  8. data/lib/no_response/models/operations/replaywebhookdelivery_request.rbi +26 -0
  9. data/lib/no_response/models/operations/replaywebhookdelivery_response.rb +32 -0
  10. data/lib/no_response/models/operations/replaywebhookdelivery_response.rbi +20 -0
  11. data/lib/no_response/models/operations.rb +4 -0
  12. data/lib/no_response/models/shared/eventtype.rb +18 -0
  13. data/lib/no_response/models/shared/eventtype.rbi +9 -0
  14. data/lib/no_response/models/shared/failure.rb +24 -0
  15. data/lib/no_response/models/shared/failure.rbi +9 -0
  16. data/lib/no_response/models/shared/webhookdeliveryattempt.rb +137 -0
  17. data/lib/no_response/models/shared/webhookdeliveryattempt.rbi +62 -0
  18. data/lib/no_response/models/shared/webhookdeliveryattemptstatus.rb +19 -0
  19. data/lib/no_response/models/shared/webhookdeliveryattemptstatus.rbi +9 -0
  20. data/lib/no_response/models/shared/webhookdeliverylist.rb +56 -0
  21. data/lib/no_response/models/shared/webhookdeliverylist.rbi +26 -0
  22. data/lib/no_response/models/shared/webhookreplay.rb +55 -0
  23. data/lib/no_response/models/shared/webhookreplay.rbi +26 -0
  24. data/lib/no_response/models/shared/webhookreplayrequest.rb +23 -0
  25. data/lib/no_response/models/shared/webhookreplayrequest.rbi +9 -0
  26. data/lib/no_response/models/shared.rb +7 -0
  27. data/lib/no_response/sdkconfiguration.rb +2 -2
  28. data/lib/no_response/webhookendpoints.rb +605 -0
  29. metadata +23 -1
@@ -5,6 +5,7 @@ require "faraday"
5
5
  require "faraday/multipart"
6
6
  require "faraday/retry"
7
7
  require "sorbet-runtime"
8
+ require "janeway"
8
9
 
9
10
  require_relative "sdk_hooks/hooks"
10
11
  require_relative "utils/retries"
@@ -1440,5 +1441,609 @@ module NoResponse
1440
1441
 
1441
1442
  end
1442
1443
  end
1444
+
1445
+ sig {
1446
+ params(
1447
+ endpoint_id: ::String,
1448
+ limit: T.nilable(::Integer),
1449
+ cursor: T.nilable(::String),
1450
+ retries: T.nilable(Utils::RetryConfig),
1451
+ timeout_ms: T.nilable(Integer),
1452
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
1453
+ )
1454
+ .returns(Models::Operations::ListWebhookDeliveriesResponse)
1455
+ }
1456
+ def list_deliveries(endpoint_id:, limit: nil, cursor: nil, retries: nil, timeout_ms: nil, http_headers: nil)
1457
+ # list_deliveries - List an endpoint's delivery attempts.
1458
+ # Every POST the endpoint received, newest first: the event id and type, which attempt it was, whether it was a replay, delivered or failed, the response code, why it failed and how long it took. Attempts are kept for 30 days, or your retention_days when that is shorter, and are deleted with the assessment they carried. Requires the webhooks scope. Read-only and safe to retry. The cursor is opaque and bound to your tenant and the endpoint; a tampered or expired cursor answers 400 invalid_cursor.
1459
+ request = Models::Operations::ListWebhookDeliveriesRequest.new(
1460
+ endpoint_id: endpoint_id,
1461
+ limit: limit,
1462
+ cursor: cursor
1463
+ )
1464
+ url, params = @sdk_configuration.get_server_details
1465
+ base_url = Utils.template_url(url, params)
1466
+ url = Utils.generate_url(
1467
+ Models::Operations::ListWebhookDeliveriesRequest,
1468
+ base_url,
1469
+ "/v1/webhooks/{endpoint_id}/deliveries",
1470
+ request
1471
+ )
1472
+ headers = {}
1473
+ headers = T.cast(headers, T::Hash[String, String])
1474
+ query_params = Utils.get_query_params(Models::Operations::ListWebhookDeliveriesRequest, request, nil)
1475
+ headers["Accept"] = "application/json"
1476
+ headers["user-agent"] = @sdk_configuration.user_agent
1477
+ retries ||= @sdk_configuration.retry_config
1478
+ retries ||= Utils::RetryConfig.new(
1479
+ backoff: Utils::BackoffStrategy.new(
1480
+ exponent: 2.0,
1481
+ initial_interval: 500,
1482
+ max_elapsed_time: 30_000,
1483
+ max_interval: 8000
1484
+ ),
1485
+ retry_connection_errors: true,
1486
+ strategy: "backoff"
1487
+ )
1488
+ retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
1489
+ retry_options[:retry_statuses] = [408, 429, 500, 501, 502, 503, 504, 505]
1490
+
1491
+ security = @sdk_configuration.security_source&.call
1492
+
1493
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1494
+ timeout ||= @sdk_configuration.timeout
1495
+
1496
+ connection = @sdk_configuration.client.dup
1497
+ connection.use(Utils::RetryMiddleware, retry_options)
1498
+
1499
+ hook_ctx = SDKHooks::HookContext.new(
1500
+ config: @sdk_configuration,
1501
+ base_url: base_url,
1502
+ oauth2_scopes: nil,
1503
+ operation_id: "listWebhookDeliveries",
1504
+ security_source: @sdk_configuration.security_source
1505
+ )
1506
+
1507
+ error = T.let(nil, T.nilable(StandardError))
1508
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1509
+
1510
+ begin
1511
+ http_response = T.must(connection).get(url) do |req|
1512
+ req.headers.merge!(headers)
1513
+ req.options.timeout = timeout unless timeout.nil?
1514
+ req.params = query_params
1515
+ Utils.configure_request_security(req, security)
1516
+ http_headers&.each do |key, value|
1517
+ req.headers[key.to_s] = value
1518
+ end
1519
+
1520
+ @sdk_configuration.hooks.before_request(
1521
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1522
+ hook_ctx: hook_ctx
1523
+ ),
1524
+ request: req
1525
+ )
1526
+ end
1527
+
1528
+ rescue StandardError => e
1529
+ error = e
1530
+ ensure
1531
+ if http_response.nil? || Utils.error_status?(http_response.status)
1532
+ http_response = @sdk_configuration.hooks.after_error(
1533
+ error: error,
1534
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1535
+ hook_ctx: hook_ctx
1536
+ ),
1537
+ response: http_response
1538
+ )
1539
+ else
1540
+ http_response = @sdk_configuration.hooks.after_success(
1541
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1542
+ hook_ctx: hook_ctx
1543
+ ),
1544
+ response: http_response
1545
+ )
1546
+ end
1547
+
1548
+ if http_response.nil?
1549
+ raise error if !error.nil?
1550
+ raise "no response"
1551
+ end
1552
+ end
1553
+
1554
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
1555
+ if Utils.match_status_code(http_response.status, ["200"])
1556
+ if Utils.match_content_type(content_type, "application/json")
1557
+ @sdk_configuration.hooks.after_success(
1558
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1559
+ hook_ctx: hook_ctx
1560
+ ),
1561
+ response: http_response
1562
+ )
1563
+ response_data = http_response.env.response_body
1564
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::WebhookDeliveryList)
1565
+ result = obj
1566
+ response = Models::Operations::ListWebhookDeliveriesResponse.new(
1567
+ result: result,
1568
+ headers: http_response.headers
1569
+ )
1570
+ sdk = self
1571
+
1572
+ response.next_page = proc do
1573
+ next_cursor = Janeway.enum_for("$.next_cursor", JSON.parse(response_data)).search
1574
+ if next_cursor.nil?
1575
+ next nil
1576
+ else
1577
+ next_cursor = next_cursor[0]
1578
+ if next_cursor.nil?
1579
+ next nil
1580
+ end
1581
+ end
1582
+
1583
+ sdk.list_deliveries(
1584
+ endpoint_id: request.endpoint_id,
1585
+ limit: request.limit,
1586
+ cursor: next_cursor,
1587
+ http_headers: http_headers
1588
+ )
1589
+ end
1590
+
1591
+ return response
1592
+ else
1593
+ raise(
1594
+ ::NoResponse::Models::Errors::APIStatusError.new(
1595
+ status_code: http_response.status,
1596
+ body: http_response.env.response_body,
1597
+ raw_response: http_response
1598
+ ),
1599
+ "Unknown content type received"
1600
+ )
1601
+ end
1602
+ elsif Utils.match_status_code(http_response.status, ["400"])
1603
+ if Utils.match_content_type(content_type, "application/problem+json")
1604
+ @sdk_configuration.hooks.after_success(
1605
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1606
+ hook_ctx: hook_ctx
1607
+ ),
1608
+ response: http_response
1609
+ )
1610
+ response_data = http_response.env.response_body
1611
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequestError)
1612
+ raise obj
1613
+ else
1614
+ raise(
1615
+ ::NoResponse::Models::Errors::APIStatusError.new(
1616
+ status_code: http_response.status,
1617
+ body: http_response.env.response_body,
1618
+ raw_response: http_response
1619
+ ),
1620
+ "Unknown content type received"
1621
+ )
1622
+ end
1623
+ elsif Utils.match_status_code(http_response.status, ["401"])
1624
+ if Utils.match_content_type(content_type, "application/problem+json")
1625
+ @sdk_configuration.hooks.after_success(
1626
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1627
+ hook_ctx: hook_ctx
1628
+ ),
1629
+ response: http_response
1630
+ )
1631
+ response_data = http_response.env.response_body
1632
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::AuthenticationError)
1633
+ raise obj
1634
+ else
1635
+ raise(
1636
+ ::NoResponse::Models::Errors::APIStatusError.new(
1637
+ status_code: http_response.status,
1638
+ body: http_response.env.response_body,
1639
+ raw_response: http_response
1640
+ ),
1641
+ "Unknown content type received"
1642
+ )
1643
+ end
1644
+ elsif Utils.match_status_code(http_response.status, ["403"])
1645
+ if Utils.match_content_type(content_type, "application/problem+json")
1646
+ @sdk_configuration.hooks.after_success(
1647
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1648
+ hook_ctx: hook_ctx
1649
+ ),
1650
+ response: http_response
1651
+ )
1652
+ response_data = http_response.env.response_body
1653
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionDeniedError)
1654
+ raise obj
1655
+ else
1656
+ raise(
1657
+ ::NoResponse::Models::Errors::APIStatusError.new(
1658
+ status_code: http_response.status,
1659
+ body: http_response.env.response_body,
1660
+ raw_response: http_response
1661
+ ),
1662
+ "Unknown content type received"
1663
+ )
1664
+ end
1665
+ elsif Utils.match_status_code(http_response.status, ["404"])
1666
+ if Utils.match_content_type(content_type, "application/problem+json")
1667
+ @sdk_configuration.hooks.after_success(
1668
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1669
+ hook_ctx: hook_ctx
1670
+ ),
1671
+ response: http_response
1672
+ )
1673
+ response_data = http_response.env.response_body
1674
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundError)
1675
+ raise obj
1676
+ else
1677
+ raise(
1678
+ ::NoResponse::Models::Errors::APIStatusError.new(
1679
+ status_code: http_response.status,
1680
+ body: http_response.env.response_body,
1681
+ raw_response: http_response
1682
+ ),
1683
+ "Unknown content type received"
1684
+ )
1685
+ end
1686
+ elsif Utils.match_status_code(http_response.status, ["409"])
1687
+ if Utils.match_content_type(content_type, "application/problem+json")
1688
+ @sdk_configuration.hooks.after_success(
1689
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1690
+ hook_ctx: hook_ctx
1691
+ ),
1692
+ response: http_response
1693
+ )
1694
+ response_data = http_response.env.response_body
1695
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ConflictError)
1696
+ raise obj
1697
+ else
1698
+ raise(
1699
+ ::NoResponse::Models::Errors::APIStatusError.new(
1700
+ status_code: http_response.status,
1701
+ body: http_response.env.response_body,
1702
+ raw_response: http_response
1703
+ ),
1704
+ "Unknown content type received"
1705
+ )
1706
+ end
1707
+ elsif Utils.match_status_code(http_response.status, ["429"])
1708
+ if Utils.match_content_type(content_type, "application/problem+json")
1709
+ @sdk_configuration.hooks.after_success(
1710
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1711
+ hook_ctx: hook_ctx
1712
+ ),
1713
+ response: http_response
1714
+ )
1715
+ response_data = http_response.env.response_body
1716
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitError)
1717
+ raise obj
1718
+ else
1719
+ raise(
1720
+ ::NoResponse::Models::Errors::APIStatusError.new(
1721
+ status_code: http_response.status,
1722
+ body: http_response.env.response_body,
1723
+ raw_response: http_response
1724
+ ),
1725
+ "Unknown content type received"
1726
+ )
1727
+ end
1728
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
1729
+ raise(
1730
+ ::NoResponse::Models::Errors::APIStatusError.new(
1731
+ status_code: http_response.status,
1732
+ body: http_response.env.response_body,
1733
+ raw_response: http_response
1734
+ ),
1735
+ "API error occurred"
1736
+ )
1737
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
1738
+ raise(
1739
+ ::NoResponse::Models::Errors::APIStatusError.new(
1740
+ status_code: http_response.status,
1741
+ body: http_response.env.response_body,
1742
+ raw_response: http_response
1743
+ ),
1744
+ "API error occurred"
1745
+ )
1746
+ else
1747
+ raise(
1748
+ ::NoResponse::Models::Errors::APIStatusError.new(
1749
+ status_code: http_response.status,
1750
+ body: http_response.env.response_body,
1751
+ raw_response: http_response
1752
+ ),
1753
+ "Unknown status code received"
1754
+ )
1755
+
1756
+ end
1757
+ end
1758
+
1759
+ sig {
1760
+ params(
1761
+ body: Models::Shared::WebhookReplayRequest,
1762
+ endpoint_id: ::String,
1763
+ event_id: ::String,
1764
+ timeout_ms: T.nilable(Integer),
1765
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
1766
+ )
1767
+ .returns(Models::Operations::ReplayWebhookDeliveryResponse)
1768
+ }
1769
+ def replay_delivery(body:, endpoint_id:, event_id:, timeout_ms: nil, http_headers: nil)
1770
+ # replay_delivery - Send one delivery again.
1771
+ # Queues the event for the endpoint again: the same event id and body it received, with a new NR-Webhook-Timestamp and a signature from the endpoint's current signing key, retried like any other delivery and listed with replay: true. Your receiver deduplicates on the event id. The endpoint must be verified. Requires the webhooks scope. Not idempotent: each call, a retry included, sends the event again.
1772
+ request = Models::Operations::ReplayWebhookDeliveryRequest.new(
1773
+ endpoint_id: endpoint_id,
1774
+ event_id: event_id,
1775
+ body: body
1776
+ )
1777
+ url, params = @sdk_configuration.get_server_details
1778
+ base_url = Utils.template_url(url, params)
1779
+ url = Utils.generate_url(
1780
+ Models::Operations::ReplayWebhookDeliveryRequest,
1781
+ base_url,
1782
+ "/v1/webhooks/{endpoint_id}/deliveries/{event_id}/replay",
1783
+ request
1784
+ )
1785
+ headers = {}
1786
+ headers = T.cast(headers, T::Hash[String, String])
1787
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :body, :json)
1788
+ headers["content-type"] = req_content_type
1789
+ raise StandardError, "request body is required" if data.nil? && form.nil?
1790
+
1791
+ if form && !form.empty?
1792
+ body = Utils.encode_form(form)
1793
+ elsif Utils.match_content_type(req_content_type, "application/x-www-form-urlencoded")
1794
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
1795
+ else
1796
+ body = data
1797
+ end
1798
+
1799
+ headers["Accept"] = "application/json"
1800
+ headers["user-agent"] = @sdk_configuration.user_agent
1801
+
1802
+ security = @sdk_configuration.security_source&.call
1803
+
1804
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1805
+ timeout ||= @sdk_configuration.timeout
1806
+
1807
+ connection = @sdk_configuration.client
1808
+
1809
+ hook_ctx = SDKHooks::HookContext.new(
1810
+ config: @sdk_configuration,
1811
+ base_url: base_url,
1812
+ oauth2_scopes: nil,
1813
+ operation_id: "replayWebhookDelivery",
1814
+ security_source: @sdk_configuration.security_source
1815
+ )
1816
+
1817
+ error = T.let(nil, T.nilable(StandardError))
1818
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1819
+
1820
+ begin
1821
+ http_response = T.must(connection).post(url) do |req|
1822
+ req.body = body
1823
+ req.headers.merge!(headers)
1824
+ req.options.timeout = timeout unless timeout.nil?
1825
+ Utils.configure_request_security(req, security)
1826
+ http_headers&.each do |key, value|
1827
+ req.headers[key.to_s] = value
1828
+ end
1829
+
1830
+ @sdk_configuration.hooks.before_request(
1831
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1832
+ hook_ctx: hook_ctx
1833
+ ),
1834
+ request: req
1835
+ )
1836
+ end
1837
+
1838
+ rescue StandardError => e
1839
+ error = e
1840
+ ensure
1841
+ if http_response.nil? || Utils.error_status?(http_response.status)
1842
+ http_response = @sdk_configuration.hooks.after_error(
1843
+ error: error,
1844
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1845
+ hook_ctx: hook_ctx
1846
+ ),
1847
+ response: http_response
1848
+ )
1849
+ else
1850
+ http_response = @sdk_configuration.hooks.after_success(
1851
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1852
+ hook_ctx: hook_ctx
1853
+ ),
1854
+ response: http_response
1855
+ )
1856
+ end
1857
+
1858
+ if http_response.nil?
1859
+ raise error if !error.nil?
1860
+ raise "no response"
1861
+ end
1862
+ end
1863
+
1864
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
1865
+ if Utils.match_status_code(http_response.status, ["202"])
1866
+ if Utils.match_content_type(content_type, "application/json")
1867
+ @sdk_configuration.hooks.after_success(
1868
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1869
+ hook_ctx: hook_ctx
1870
+ ),
1871
+ response: http_response
1872
+ )
1873
+ response_data = http_response.env.response_body
1874
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::WebhookReplay)
1875
+ result = obj
1876
+ response = Models::Operations::ReplayWebhookDeliveryResponse.new(
1877
+ result: result,
1878
+ headers: http_response.headers
1879
+ )
1880
+
1881
+ return response
1882
+ else
1883
+ raise(
1884
+ ::NoResponse::Models::Errors::APIStatusError.new(
1885
+ status_code: http_response.status,
1886
+ body: http_response.env.response_body,
1887
+ raw_response: http_response
1888
+ ),
1889
+ "Unknown content type received"
1890
+ )
1891
+ end
1892
+ elsif Utils.match_status_code(http_response.status, ["400"])
1893
+ if Utils.match_content_type(content_type, "application/problem+json")
1894
+ @sdk_configuration.hooks.after_success(
1895
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1896
+ hook_ctx: hook_ctx
1897
+ ),
1898
+ response: http_response
1899
+ )
1900
+ response_data = http_response.env.response_body
1901
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequestError)
1902
+ raise obj
1903
+ else
1904
+ raise(
1905
+ ::NoResponse::Models::Errors::APIStatusError.new(
1906
+ status_code: http_response.status,
1907
+ body: http_response.env.response_body,
1908
+ raw_response: http_response
1909
+ ),
1910
+ "Unknown content type received"
1911
+ )
1912
+ end
1913
+ elsif Utils.match_status_code(http_response.status, ["401"])
1914
+ if Utils.match_content_type(content_type, "application/problem+json")
1915
+ @sdk_configuration.hooks.after_success(
1916
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1917
+ hook_ctx: hook_ctx
1918
+ ),
1919
+ response: http_response
1920
+ )
1921
+ response_data = http_response.env.response_body
1922
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::AuthenticationError)
1923
+ raise obj
1924
+ else
1925
+ raise(
1926
+ ::NoResponse::Models::Errors::APIStatusError.new(
1927
+ status_code: http_response.status,
1928
+ body: http_response.env.response_body,
1929
+ raw_response: http_response
1930
+ ),
1931
+ "Unknown content type received"
1932
+ )
1933
+ end
1934
+ elsif Utils.match_status_code(http_response.status, ["403"])
1935
+ if Utils.match_content_type(content_type, "application/problem+json")
1936
+ @sdk_configuration.hooks.after_success(
1937
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1938
+ hook_ctx: hook_ctx
1939
+ ),
1940
+ response: http_response
1941
+ )
1942
+ response_data = http_response.env.response_body
1943
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionDeniedError)
1944
+ raise obj
1945
+ else
1946
+ raise(
1947
+ ::NoResponse::Models::Errors::APIStatusError.new(
1948
+ status_code: http_response.status,
1949
+ body: http_response.env.response_body,
1950
+ raw_response: http_response
1951
+ ),
1952
+ "Unknown content type received"
1953
+ )
1954
+ end
1955
+ elsif Utils.match_status_code(http_response.status, ["404"])
1956
+ if Utils.match_content_type(content_type, "application/problem+json")
1957
+ @sdk_configuration.hooks.after_success(
1958
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1959
+ hook_ctx: hook_ctx
1960
+ ),
1961
+ response: http_response
1962
+ )
1963
+ response_data = http_response.env.response_body
1964
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::NotFoundError)
1965
+ raise obj
1966
+ else
1967
+ raise(
1968
+ ::NoResponse::Models::Errors::APIStatusError.new(
1969
+ status_code: http_response.status,
1970
+ body: http_response.env.response_body,
1971
+ raw_response: http_response
1972
+ ),
1973
+ "Unknown content type received"
1974
+ )
1975
+ end
1976
+ elsif Utils.match_status_code(http_response.status, ["409"])
1977
+ if Utils.match_content_type(content_type, "application/problem+json")
1978
+ @sdk_configuration.hooks.after_success(
1979
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1980
+ hook_ctx: hook_ctx
1981
+ ),
1982
+ response: http_response
1983
+ )
1984
+ response_data = http_response.env.response_body
1985
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ConflictError)
1986
+ raise obj
1987
+ else
1988
+ raise(
1989
+ ::NoResponse::Models::Errors::APIStatusError.new(
1990
+ status_code: http_response.status,
1991
+ body: http_response.env.response_body,
1992
+ raw_response: http_response
1993
+ ),
1994
+ "Unknown content type received"
1995
+ )
1996
+ end
1997
+ elsif Utils.match_status_code(http_response.status, ["429"])
1998
+ if Utils.match_content_type(content_type, "application/problem+json")
1999
+ @sdk_configuration.hooks.after_success(
2000
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
2001
+ hook_ctx: hook_ctx
2002
+ ),
2003
+ response: http_response
2004
+ )
2005
+ response_data = http_response.env.response_body
2006
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitError)
2007
+ raise obj
2008
+ else
2009
+ raise(
2010
+ ::NoResponse::Models::Errors::APIStatusError.new(
2011
+ status_code: http_response.status,
2012
+ body: http_response.env.response_body,
2013
+ raw_response: http_response
2014
+ ),
2015
+ "Unknown content type received"
2016
+ )
2017
+ end
2018
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
2019
+ raise(
2020
+ ::NoResponse::Models::Errors::APIStatusError.new(
2021
+ status_code: http_response.status,
2022
+ body: http_response.env.response_body,
2023
+ raw_response: http_response
2024
+ ),
2025
+ "API error occurred"
2026
+ )
2027
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
2028
+ raise(
2029
+ ::NoResponse::Models::Errors::APIStatusError.new(
2030
+ status_code: http_response.status,
2031
+ body: http_response.env.response_body,
2032
+ raw_response: http_response
2033
+ ),
2034
+ "API error occurred"
2035
+ )
2036
+ else
2037
+ raise(
2038
+ ::NoResponse::Models::Errors::APIStatusError.new(
2039
+ status_code: http_response.status,
2040
+ body: http_response.env.response_body,
2041
+ raw_response: http_response
2042
+ ),
2043
+ "Unknown status code received"
2044
+ )
2045
+
2046
+ end
2047
+ end
1443
2048
  end
1444
2049
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: noresponse
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.6
4
+ version: 2.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - NoResponse
@@ -306,6 +306,10 @@ files:
306
306
  - lib/no_response/models/operations/listaccountassessments_response.rbi
307
307
  - lib/no_response/models/operations/listintegrations_response.rb
308
308
  - lib/no_response/models/operations/listintegrations_response.rbi
309
+ - lib/no_response/models/operations/listwebhookdeliveries_request.rb
310
+ - lib/no_response/models/operations/listwebhookdeliveries_request.rbi
311
+ - lib/no_response/models/operations/listwebhookdeliveries_response.rb
312
+ - lib/no_response/models/operations/listwebhookdeliveries_response.rbi
309
313
  - lib/no_response/models/operations/listwebhookendpoints_response.rb
310
314
  - lib/no_response/models/operations/listwebhookendpoints_response.rbi
311
315
  - lib/no_response/models/operations/queryaccountassessments_response.rb
@@ -314,6 +318,10 @@ files:
314
318
  - lib/no_response/models/operations/recordassessmentoutcome_request.rbi
315
319
  - lib/no_response/models/operations/recordassessmentoutcome_response.rb
316
320
  - lib/no_response/models/operations/recordassessmentoutcome_response.rbi
321
+ - lib/no_response/models/operations/replaywebhookdelivery_request.rb
322
+ - lib/no_response/models/operations/replaywebhookdelivery_request.rbi
323
+ - lib/no_response/models/operations/replaywebhookdelivery_response.rb
324
+ - lib/no_response/models/operations/replaywebhookdelivery_response.rbi
317
325
  - lib/no_response/models/operations/rotateapikey_response.rb
318
326
  - lib/no_response/models/operations/rotateapikey_response.rbi
319
327
  - lib/no_response/models/operations/rotateintegrationsecret_request.rb
@@ -403,6 +411,10 @@ files:
403
411
  - lib/no_response/models/shared/email.rbi
404
412
  - lib/no_response/models/shared/email_union.rb
405
413
  - lib/no_response/models/shared/email_union.rbi
414
+ - lib/no_response/models/shared/eventtype.rb
415
+ - lib/no_response/models/shared/eventtype.rbi
416
+ - lib/no_response/models/shared/failure.rb
417
+ - lib/no_response/models/shared/failure.rbi
406
418
  - lib/no_response/models/shared/failurereason.rb
407
419
  - lib/no_response/models/shared/failurereason.rbi
408
420
  - lib/no_response/models/shared/flow.rb
@@ -519,6 +531,12 @@ files:
519
531
  - lib/no_response/models/shared/timezone_union.rbi
520
532
  - lib/no_response/models/shared/transport.rb
521
533
  - lib/no_response/models/shared/transport.rbi
534
+ - lib/no_response/models/shared/webhookdeliveryattempt.rb
535
+ - lib/no_response/models/shared/webhookdeliveryattempt.rbi
536
+ - lib/no_response/models/shared/webhookdeliveryattemptstatus.rb
537
+ - lib/no_response/models/shared/webhookdeliveryattemptstatus.rbi
538
+ - lib/no_response/models/shared/webhookdeliverylist.rb
539
+ - lib/no_response/models/shared/webhookdeliverylist.rbi
522
540
  - lib/no_response/models/shared/webhookendpoint.rb
523
541
  - lib/no_response/models/shared/webhookendpoint.rbi
524
542
  - lib/no_response/models/shared/webhookendpointcreated.rb
@@ -533,6 +551,10 @@ files:
533
551
  - lib/no_response/models/shared/webhookkeyrotation.rbi
534
552
  - lib/no_response/models/shared/webhookkeyrotationrequest.rb
535
553
  - lib/no_response/models/shared/webhookkeyrotationrequest.rbi
554
+ - lib/no_response/models/shared/webhookreplay.rb
555
+ - lib/no_response/models/shared/webhookreplay.rbi
556
+ - lib/no_response/models/shared/webhookreplayrequest.rb
557
+ - lib/no_response/models/shared/webhookreplayrequest.rbi
536
558
  - lib/no_response/models/shared/webhooktest.rb
537
559
  - lib/no_response/models/shared/webhooktest.rbi
538
560
  - lib/no_response/models/shared/webhooktestrequest.rb