context.dev 2.16.0 → 2.17.1

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 (168) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +1 -1
  4. data/lib/context_dev/models/ai_extract_product_params.rb +53 -8
  5. data/lib/context_dev/models/ai_extract_product_response.rb +10 -1
  6. data/lib/context_dev/models/ai_extract_products_params.rb +116 -16
  7. data/lib/context_dev/models/ai_extract_products_response.rb +11 -1
  8. data/lib/context_dev/models/brand_retrieve_params.rb +355 -60
  9. data/lib/context_dev/models/brand_retrieve_response.rb +71 -62
  10. data/lib/context_dev/models/brand_retrieve_simplified_params.rb +57 -11
  11. data/lib/context_dev/models/brand_retrieve_simplified_response.rb +72 -63
  12. data/lib/context_dev/models/industry_retrieve_naics_params.rb +53 -8
  13. data/lib/context_dev/models/industry_retrieve_naics_response.rb +10 -1
  14. data/lib/context_dev/models/industry_retrieve_sic_params.rb +53 -8
  15. data/lib/context_dev/models/industry_retrieve_sic_response.rb +10 -1
  16. data/lib/context_dev/models/monitor_create_params.rb +27 -3
  17. data/lib/context_dev/models/monitor_create_response.rb +30 -5
  18. data/lib/context_dev/models/monitor_list_response.rb +30 -5
  19. data/lib/context_dev/models/monitor_retrieve_response.rb +30 -5
  20. data/lib/context_dev/models/monitor_update_params.rb +27 -3
  21. data/lib/context_dev/models/monitor_update_response.rb +30 -5
  22. data/lib/context_dev/models/person_enrich_params.rb +53 -8
  23. data/lib/context_dev/models/person_enrich_response.rb +10 -1
  24. data/lib/context_dev/models/utility_prefetch_params.rb +48 -8
  25. data/lib/context_dev/models/web_answers_params.rb +124 -0
  26. data/lib/context_dev/models/web_answers_response.rb +68 -0
  27. data/lib/context_dev/models/web_extract_competitors_params.rb +53 -8
  28. data/lib/context_dev/models/web_extract_competitors_response.rb +10 -1
  29. data/lib/context_dev/models/web_extract_fonts_params.rb +58 -11
  30. data/lib/context_dev/models/web_extract_fonts_response.rb +32 -1
  31. data/lib/context_dev/models/web_extract_params.rb +53 -8
  32. data/lib/context_dev/models/web_extract_response.rb +10 -1
  33. data/lib/context_dev/models/web_extract_styleguide_params.rb +58 -11
  34. data/lib/context_dev/models/web_extract_styleguide_response.rb +32 -1
  35. data/lib/context_dev/models/web_screenshot_params.rb +58 -10
  36. data/lib/context_dev/models/web_screenshot_response.rb +32 -1
  37. data/lib/context_dev/models/web_search_params.rb +112 -16
  38. data/lib/context_dev/models/web_search_response.rb +49 -4
  39. data/lib/context_dev/models/web_web_crawl_md_params.rb +53 -8
  40. data/lib/context_dev/models/web_web_crawl_md_response.rb +11 -1
  41. data/lib/context_dev/models/web_web_scrape_bytes_params.rb +344 -0
  42. data/lib/context_dev/models/web_web_scrape_bytes_response.rb +135 -0
  43. data/lib/context_dev/models/web_web_scrape_html_params.rb +57 -10
  44. data/lib/context_dev/models/web_web_scrape_html_response.rb +32 -1
  45. data/lib/context_dev/models/web_web_scrape_images_params.rb +57 -10
  46. data/lib/context_dev/models/web_web_scrape_images_response.rb +42 -1
  47. data/lib/context_dev/models/web_web_scrape_md_params.rb +57 -10
  48. data/lib/context_dev/models/web_web_scrape_md_response.rb +32 -1
  49. data/lib/context_dev/models/web_web_scrape_sitemap_params.rb +53 -8
  50. data/lib/context_dev/models/web_web_scrape_sitemap_response.rb +11 -1
  51. data/lib/context_dev/models.rb +4 -0
  52. data/lib/context_dev/resources/ai.rb +2 -2
  53. data/lib/context_dev/resources/brand.rb +3 -3
  54. data/lib/context_dev/resources/industry.rb +6 -6
  55. data/lib/context_dev/resources/people.rb +2 -2
  56. data/lib/context_dev/resources/utility.rb +2 -2
  57. data/lib/context_dev/resources/web.rb +119 -33
  58. data/lib/context_dev/version.rb +1 -1
  59. data/lib/context_dev.rb +4 -0
  60. data/rbi/context_dev/models/ai_extract_product_params.rbi +125 -13
  61. data/rbi/context_dev/models/ai_extract_product_response.rbi +13 -0
  62. data/rbi/context_dev/models/ai_extract_products_params.rbi +264 -26
  63. data/rbi/context_dev/models/ai_extract_products_response.rbi +15 -0
  64. data/rbi/context_dev/models/brand_retrieve_params.rbi +816 -102
  65. data/rbi/context_dev/models/brand_retrieve_response.rbi +136 -131
  66. data/rbi/context_dev/models/brand_retrieve_simplified_params.rbi +136 -19
  67. data/rbi/context_dev/models/brand_retrieve_simplified_response.rbi +140 -135
  68. data/rbi/context_dev/models/industry_retrieve_naics_params.rbi +127 -13
  69. data/rbi/context_dev/models/industry_retrieve_naics_response.rbi +13 -0
  70. data/rbi/context_dev/models/industry_retrieve_sic_params.rbi +127 -13
  71. data/rbi/context_dev/models/industry_retrieve_sic_response.rbi +13 -0
  72. data/rbi/context_dev/models/monitor_create_params.rbi +40 -2
  73. data/rbi/context_dev/models/monitor_create_response.rbi +44 -4
  74. data/rbi/context_dev/models/monitor_list_response.rbi +44 -4
  75. data/rbi/context_dev/models/monitor_retrieve_response.rbi +44 -4
  76. data/rbi/context_dev/models/monitor_update_params.rbi +40 -2
  77. data/rbi/context_dev/models/monitor_update_response.rbi +44 -4
  78. data/rbi/context_dev/models/person_enrich_params.rbi +123 -13
  79. data/rbi/context_dev/models/person_enrich_response.rbi +16 -3
  80. data/rbi/context_dev/models/utility_prefetch_params.rbi +112 -13
  81. data/rbi/context_dev/models/web_answers_params.rbi +234 -0
  82. data/rbi/context_dev/models/web_answers_response.rbi +122 -0
  83. data/rbi/context_dev/models/web_extract_competitors_params.rbi +127 -13
  84. data/rbi/context_dev/models/web_extract_competitors_response.rbi +16 -3
  85. data/rbi/context_dev/models/web_extract_fonts_params.rbi +132 -19
  86. data/rbi/context_dev/models/web_extract_fonts_response.rbi +71 -0
  87. data/rbi/context_dev/models/web_extract_params.rbi +120 -13
  88. data/rbi/context_dev/models/web_extract_response.rbi +16 -3
  89. data/rbi/context_dev/models/web_extract_styleguide_params.rbi +136 -19
  90. data/rbi/context_dev/models/web_extract_styleguide_response.rbi +71 -0
  91. data/rbi/context_dev/models/web_screenshot_params.rbi +132 -17
  92. data/rbi/context_dev/models/web_screenshot_response.rbi +71 -0
  93. data/rbi/context_dev/models/web_search_params.rbi +253 -26
  94. data/rbi/context_dev/models/web_search_response.rbi +96 -8
  95. data/rbi/context_dev/models/web_web_crawl_md_params.rbi +123 -13
  96. data/rbi/context_dev/models/web_web_crawl_md_response.rbi +19 -3
  97. data/rbi/context_dev/models/web_web_scrape_bytes_params.rbi +699 -0
  98. data/rbi/context_dev/models/web_web_scrape_bytes_response.rbi +238 -0
  99. data/rbi/context_dev/models/web_web_scrape_html_params.rbi +132 -17
  100. data/rbi/context_dev/models/web_web_scrape_html_response.rbi +61 -0
  101. data/rbi/context_dev/models/web_web_scrape_images_params.rbi +134 -17
  102. data/rbi/context_dev/models/web_web_scrape_images_response.rbi +89 -3
  103. data/rbi/context_dev/models/web_web_scrape_md_params.rbi +130 -17
  104. data/rbi/context_dev/models/web_web_scrape_md_response.rbi +61 -0
  105. data/rbi/context_dev/models/web_web_scrape_sitemap_params.rbi +127 -13
  106. data/rbi/context_dev/models/web_web_scrape_sitemap_response.rbi +18 -3
  107. data/rbi/context_dev/models.rbi +4 -0
  108. data/rbi/context_dev/resources/ai.rbi +5 -5
  109. data/rbi/context_dev/resources/brand.rbi +9 -8
  110. data/rbi/context_dev/resources/industry.rbi +12 -10
  111. data/rbi/context_dev/resources/people.rbi +5 -5
  112. data/rbi/context_dev/resources/utility.rbi +5 -5
  113. data/rbi/context_dev/resources/web.rbi +170 -72
  114. data/sig/context_dev/models/ai_extract_product_params.rbs +44 -5
  115. data/sig/context_dev/models/ai_extract_product_response.rbs +7 -0
  116. data/sig/context_dev/models/ai_extract_products_params.rbs +88 -10
  117. data/sig/context_dev/models/ai_extract_products_response.rbs +7 -0
  118. data/sig/context_dev/models/brand_retrieve_params.rbs +264 -30
  119. data/sig/context_dev/models/brand_retrieve_response.rbs +53 -54
  120. data/sig/context_dev/models/brand_retrieve_simplified_params.rbs +44 -5
  121. data/sig/context_dev/models/brand_retrieve_simplified_response.rbs +53 -54
  122. data/sig/context_dev/models/industry_retrieve_naics_params.rbs +44 -5
  123. data/sig/context_dev/models/industry_retrieve_naics_response.rbs +7 -0
  124. data/sig/context_dev/models/industry_retrieve_sic_params.rbs +44 -5
  125. data/sig/context_dev/models/industry_retrieve_sic_response.rbs +7 -0
  126. data/sig/context_dev/models/monitor_create_params.rbs +14 -0
  127. data/sig/context_dev/models/monitor_create_response.rbs +14 -0
  128. data/sig/context_dev/models/monitor_list_response.rbs +14 -0
  129. data/sig/context_dev/models/monitor_retrieve_response.rbs +14 -0
  130. data/sig/context_dev/models/monitor_update_params.rbs +14 -0
  131. data/sig/context_dev/models/monitor_update_response.rbs +14 -0
  132. data/sig/context_dev/models/person_enrich_params.rbs +44 -5
  133. data/sig/context_dev/models/person_enrich_response.rbs +10 -3
  134. data/sig/context_dev/models/utility_prefetch_params.rbs +43 -5
  135. data/sig/context_dev/models/web_answers_params.rbs +106 -0
  136. data/sig/context_dev/models/web_answers_response.rbs +60 -0
  137. data/sig/context_dev/models/web_extract_competitors_params.rbs +44 -5
  138. data/sig/context_dev/models/web_extract_competitors_response.rbs +10 -3
  139. data/sig/context_dev/models/web_extract_fonts_params.rbs +44 -5
  140. data/sig/context_dev/models/web_extract_fonts_response.rbs +20 -0
  141. data/sig/context_dev/models/web_extract_params.rbs +44 -5
  142. data/sig/context_dev/models/web_extract_response.rbs +10 -3
  143. data/sig/context_dev/models/web_extract_styleguide_params.rbs +44 -5
  144. data/sig/context_dev/models/web_extract_styleguide_response.rbs +20 -0
  145. data/sig/context_dev/models/web_screenshot_params.rbs +44 -5
  146. data/sig/context_dev/models/web_screenshot_response.rbs +20 -0
  147. data/sig/context_dev/models/web_search_params.rbs +88 -10
  148. data/sig/context_dev/models/web_search_response.rbs +33 -6
  149. data/sig/context_dev/models/web_web_crawl_md_params.rbs +44 -5
  150. data/sig/context_dev/models/web_web_crawl_md_response.rbs +10 -3
  151. data/sig/context_dev/models/web_web_scrape_bytes_params.rbs +531 -0
  152. data/sig/context_dev/models/web_web_scrape_bytes_response.rbs +108 -0
  153. data/sig/context_dev/models/web_web_scrape_html_params.rbs +44 -5
  154. data/sig/context_dev/models/web_web_scrape_html_response.rbs +16 -0
  155. data/sig/context_dev/models/web_web_scrape_images_params.rbs +44 -5
  156. data/sig/context_dev/models/web_web_scrape_images_response.rbs +30 -3
  157. data/sig/context_dev/models/web_web_scrape_md_params.rbs +44 -5
  158. data/sig/context_dev/models/web_web_scrape_md_response.rbs +16 -0
  159. data/sig/context_dev/models/web_web_scrape_sitemap_params.rbs +44 -5
  160. data/sig/context_dev/models/web_web_scrape_sitemap_response.rbs +10 -3
  161. data/sig/context_dev/models.rbs +4 -0
  162. data/sig/context_dev/resources/ai.rbs +1 -1
  163. data/sig/context_dev/resources/brand.rbs +1 -1
  164. data/sig/context_dev/resources/industry.rbs +2 -2
  165. data/sig/context_dev/resources/people.rbs +1 -1
  166. data/sig/context_dev/resources/utility.rbs +1 -1
  167. data/sig/context_dev/resources/web.rbs +30 -11
  168. metadata +14 -2
@@ -120,13 +120,13 @@ module ContextDev
120
120
  # @return [Array<String>, nil]
121
121
  optional :tags, ContextDev::Internal::Type::ArrayOf[String]
122
122
 
123
- # @!attribute timeout_ms
124
- # Optional timeout in milliseconds for the request. If the request takes longer
125
- # than this value, it will be aborted with a 408 status code. Maximum allowed
126
- # value is 300000ms (5 minutes).
123
+ # @!attribute timeout_opts
124
+ # Optional request deadline and behavior on timeout. For GET requests, use
125
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
126
+ # timeoutOpts object.
127
127
  #
128
- # @return [Integer, nil]
129
- optional :timeout_ms, Integer, api_name: :timeoutMS
128
+ # @return [ContextDev::Models::WebWebCrawlMdParams::TimeoutOpts, nil]
129
+ optional :timeout_opts, -> { ContextDev::WebWebCrawlMdParams::TimeoutOpts }, api_name: :timeoutOpts
130
130
 
131
131
  # @!attribute url_regex
132
132
  # Regex pattern. Only URLs matching this pattern will be followed and scraped. An
@@ -159,7 +159,7 @@ module ContextDev
159
159
  # @return [Symbol, ContextDev::Models::WebWebCrawlMdParams::Zdr, nil]
160
160
  optional :zdr, enum: -> { ContextDev::WebWebCrawlMdParams::Zdr }
161
161
 
162
- # @!method initialize(url:, country: nil, exclude_selectors: nil, follow_subdomains: nil, include_frames: nil, include_images: nil, include_links: nil, include_selectors: nil, max_age_ms: nil, max_depth: nil, max_pages: nil, pdf: nil, settle_animations: nil, shorten_base64_images: nil, stop_after_ms: nil, tags: nil, timeout_ms: nil, url_regex: nil, use_main_content_only: nil, wait_for_ms: nil, zdr: nil, request_options: {})
162
+ # @!method initialize(url:, country: nil, exclude_selectors: nil, follow_subdomains: nil, include_frames: nil, include_images: nil, include_links: nil, include_selectors: nil, max_age_ms: nil, max_depth: nil, max_pages: nil, pdf: nil, settle_animations: nil, shorten_base64_images: nil, stop_after_ms: nil, tags: nil, timeout_opts: nil, url_regex: nil, use_main_content_only: nil, wait_for_ms: nil, zdr: nil, request_options: {})
163
163
  # Some parameter documentations has been truncated, see
164
164
  # {ContextDev::Models::WebWebCrawlMdParams} for more details.
165
165
  #
@@ -195,7 +195,7 @@ module ContextDev
195
195
  #
196
196
  # @param tags [Array<String>] Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.
197
197
  #
198
- # @param timeout_ms [Integer] Optional timeout in milliseconds for the request. If the request takes longer th
198
+ # @param timeout_opts [ContextDev::Models::WebWebCrawlMdParams::TimeoutOpts] Optional request deadline and behavior on timeout. For GET requests, use timeout
199
199
  #
200
200
  # @param url_regex [String] Regex pattern. Only URLs matching this pattern will be followed and scraped. An
201
201
  #
@@ -467,6 +467,51 @@ module ContextDev
467
467
  # @param start [Integer] First 1-based PDF page to parse. When omitted, parsing starts at the first page.
468
468
  end
469
469
 
470
+ class TimeoutOpts < ContextDev::Internal::Type::BaseModel
471
+ # @!attribute milliseconds
472
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
473
+ #
474
+ # @return [Integer]
475
+ required :milliseconds, Integer
476
+
477
+ # @!attribute behavior
478
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
479
+ # credits. "return-partial" returns usable results collected so far; if none are
480
+ # available, the request still fails without charging credits. Partial results are
481
+ # not cached as complete results.
482
+ #
483
+ # @return [Symbol, ContextDev::Models::WebWebCrawlMdParams::TimeoutOpts::Behavior, nil]
484
+ optional :behavior, enum: -> { ContextDev::WebWebCrawlMdParams::TimeoutOpts::Behavior }
485
+
486
+ # @!method initialize(milliseconds:, behavior: nil)
487
+ # Some parameter documentations has been truncated, see
488
+ # {ContextDev::Models::WebWebCrawlMdParams::TimeoutOpts} for more details.
489
+ #
490
+ # Optional request deadline and behavior on timeout. For GET requests, use
491
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
492
+ # timeoutOpts object.
493
+ #
494
+ # @param milliseconds [Integer] Request deadline in milliseconds. Maximum: 300000 (5 minutes).
495
+ #
496
+ # @param behavior [Symbol, ContextDev::Models::WebWebCrawlMdParams::TimeoutOpts::Behavior] What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
497
+
498
+ # What to do at the deadline. "fail" returns 408 REQUEST_TIMEOUT without charging
499
+ # credits. "return-partial" returns usable results collected so far; if none are
500
+ # available, the request still fails without charging credits. Partial results are
501
+ # not cached as complete results.
502
+ #
503
+ # @see ContextDev::Models::WebWebCrawlMdParams::TimeoutOpts#behavior
504
+ module Behavior
505
+ extend ContextDev::Internal::Type::Enum
506
+
507
+ FAIL = :fail
508
+ RETURN_PARTIAL = :"return-partial"
509
+
510
+ # @!method self.values
511
+ # @return [Array<Symbol>]
512
+ end
513
+ end
514
+
470
515
  # Set to enabled to bypass shared caches and omit request and response content
471
516
  # from retained usage logs. Requires zero data retention to be enabled for your
472
517
  # organization (contact support@context.dev), otherwise the request fails with
@@ -36,7 +36,15 @@ module ContextDev
36
36
  # @return [ContextDev::Models::WebWebCrawlMdResponse::KeyMetadata, nil]
37
37
  optional :key_metadata, -> { ContextDev::Models::WebWebCrawlMdResponse::KeyMetadata }
38
38
 
39
- # @!method initialize(cache_metadata:, metadata:, request_id:, results:, key_metadata: nil)
39
+ # @!attribute partial
40
+ # True when timeoutOpts.behavior=return-partial returned the usable results
41
+ # collected before the deadline. Partial collections are not cached as complete
42
+ # results.
43
+ #
44
+ # @return [Boolean, nil]
45
+ optional :partial, ContextDev::Internal::Type::Boolean
46
+
47
+ # @!method initialize(cache_metadata:, metadata:, request_id:, results:, key_metadata: nil, partial: nil)
40
48
  # Some parameter documentations has been truncated, see
41
49
  # {ContextDev::Models::WebWebCrawlMdResponse} for more details.
42
50
  #
@@ -49,6 +57,8 @@ module ContextDev
49
57
  # @param results [Array<ContextDev::Models::WebWebCrawlMdResponse::Result>]
50
58
  #
51
59
  # @param key_metadata [ContextDev::Models::WebWebCrawlMdResponse::KeyMetadata] Credit usage, included whenever a valid API key is provided.
60
+ #
61
+ # @param partial [Boolean] True when timeoutOpts.behavior=return-partial returned the usable results collec
52
62
 
53
63
  # @see ContextDev::Models::WebWebCrawlMdResponse#cache_metadata
54
64
  class CacheMetadata < ContextDev::Internal::Type::BaseModel
@@ -0,0 +1,344 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ContextDev
4
+ module Models
5
+ # @see ContextDev::Resources::Web#web_scrape_bytes
6
+ class WebWebScrapeBytesParams < ContextDev::Internal::Type::BaseModel
7
+ extend ContextDev::Internal::Type::RequestParameters::Converter
8
+ include ContextDev::Internal::Type::RequestParameters
9
+
10
+ # @!attribute url
11
+ # Full HTTP(S) URL of the resource to download, such as an image, PDF, or page.
12
+ #
13
+ # @return [String]
14
+ required :url, String
15
+
16
+ # @!attribute country
17
+ # Fetch the target page through a residential proxy in this country (ISO 3166-1
18
+ # alpha-2).
19
+ #
20
+ # @return [Symbol, ContextDev::Models::WebWebScrapeBytesParams::Country, nil]
21
+ optional :country, enum: -> { ContextDev::WebWebScrapeBytesParams::Country }
22
+
23
+ # @!attribute headers
24
+ # Optional outbound HTTP headers, such as Referer, Cookie, or Authorization. Send
25
+ # as a JSON object or deep-object query params such as
26
+ # headers[Referer]=https://example.com/. Host, Content-Length, and hop-by-hop
27
+ # transport headers are rejected. Authorization and cookies are removed when a
28
+ # redirect changes origin.
29
+ #
30
+ # @return [Hash{Symbol=>String}, nil]
31
+ optional :headers, ContextDev::Internal::Type::HashOf[String]
32
+
33
+ # @!attribute tags
34
+ # Comma-separated tags for tracking request usage. Up to 20 tags, each 1-50
35
+ # characters.
36
+ #
37
+ # @return [Array<String>, nil]
38
+ optional :tags, ContextDev::Internal::Type::ArrayOf[String]
39
+
40
+ # @!attribute timeout_opts
41
+ # Optional request deadline and behavior on timeout. For GET requests, use
42
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
43
+ # timeoutOpts object.
44
+ #
45
+ # @return [ContextDev::Models::WebWebScrapeBytesParams::TimeoutOpts, nil]
46
+ optional :timeout_opts, -> { ContextDev::WebWebScrapeBytesParams::TimeoutOpts }
47
+
48
+ # @!attribute zdr
49
+ # Set to enabled to bypass shared caches and omit request and response content
50
+ # from retained usage logs. Requires zero data retention to be enabled for your
51
+ # organization (contact support@context.dev), otherwise the request fails with
52
+ # ZDR_NOT_ENABLED. Successful ZDR responses include X-Context-ZDR: true.
53
+ #
54
+ # @return [Symbol, ContextDev::Models::WebWebScrapeBytesParams::Zdr, nil]
55
+ optional :zdr, enum: -> { ContextDev::WebWebScrapeBytesParams::Zdr }
56
+
57
+ # @!method initialize(url:, country: nil, headers: nil, tags: nil, timeout_opts: nil, zdr: nil, request_options: {})
58
+ # Some parameter documentations has been truncated, see
59
+ # {ContextDev::Models::WebWebScrapeBytesParams} for more details.
60
+ #
61
+ # @param url [String] Full HTTP(S) URL of the resource to download, such as an image, PDF, or page.
62
+ #
63
+ # @param country [Symbol, ContextDev::Models::WebWebScrapeBytesParams::Country] Fetch the target page through a residential proxy in this country (ISO 3166-1 al
64
+ #
65
+ # @param headers [Hash{Symbol=>String}] Optional outbound HTTP headers, such as Referer, Cookie, or Authorization. Send
66
+ #
67
+ # @param tags [Array<String>] Comma-separated tags for tracking request usage. Up to 20 tags, each 1-50 charac
68
+ #
69
+ # @param timeout_opts [ContextDev::Models::WebWebScrapeBytesParams::TimeoutOpts] Optional request deadline and behavior on timeout. For GET requests, use timeout
70
+ #
71
+ # @param zdr [Symbol, ContextDev::Models::WebWebScrapeBytesParams::Zdr] Set to enabled to bypass shared caches and omit request and response content fro
72
+ #
73
+ # @param request_options [ContextDev::RequestOptions, Hash{Symbol=>Object}]
74
+
75
+ # Fetch the target page through a residential proxy in this country (ISO 3166-1
76
+ # alpha-2).
77
+ module Country
78
+ extend ContextDev::Internal::Type::Enum
79
+
80
+ AD = :ad
81
+ AE = :ae
82
+ AF = :af
83
+ AG = :ag
84
+ AI = :ai
85
+ AL = :al
86
+ AM = :am
87
+ AO = :ao
88
+ AR = :ar
89
+ AT = :at
90
+ AU = :au
91
+ AW = :aw
92
+ AZ = :az
93
+ BA = :ba
94
+ BB = :bb
95
+ BD = :bd
96
+ BE = :be
97
+ BF = :bf
98
+ BG = :bg
99
+ BH = :bh
100
+ BI = :bi
101
+ BJ = :bj
102
+ BM = :bm
103
+ BN = :bn
104
+ BO = :bo
105
+ BQ = :bq
106
+ BR = :br
107
+ BS = :bs
108
+ BW = :bw
109
+ BY = :by
110
+ BZ = :bz
111
+ CA = :ca
112
+ CD = :cd
113
+ CF = :cf
114
+ CG = :cg
115
+ CH = :ch
116
+ CI = :ci
117
+ CL = :cl
118
+ CM = :cm
119
+ CN = :cn
120
+ CO = :co
121
+ CR = :cr
122
+ CV = :cv
123
+ CW = :cw
124
+ CY = :cy
125
+ CZ = :cz
126
+ DE = :de
127
+ DJ = :dj
128
+ DK = :dk
129
+ DM = :dm
130
+ DO = :do
131
+ DZ = :dz
132
+ EC = :ec
133
+ EE = :ee
134
+ EG = :eg
135
+ ES = :es
136
+ ET = :et
137
+ FI = :fi
138
+ FJ = :fj
139
+ FR = :fr
140
+ GA = :ga
141
+ GB = :gb
142
+ GD = :gd
143
+ GE = :ge
144
+ GF = :gf
145
+ GG = :gg
146
+ GH = :gh
147
+ GM = :gm
148
+ GN = :gn
149
+ GP = :gp
150
+ GQ = :gq
151
+ GR = :gr
152
+ GT = :gt
153
+ GU = :gu
154
+ GW = :gw
155
+ GY = :gy
156
+ HK = :hk
157
+ HN = :hn
158
+ HR = :hr
159
+ HT = :ht
160
+ HU = :hu
161
+ ID = :id
162
+ IE = :ie
163
+ IL = :il
164
+ IM = :im
165
+ IN = :in
166
+ IQ = :iq
167
+ IR = :ir
168
+ IS = :is
169
+ IT = :it
170
+ JE = :je
171
+ JM = :jm
172
+ JO = :jo
173
+ JP = :jp
174
+ KE = :ke
175
+ KG = :kg
176
+ KH = :kh
177
+ KN = :kn
178
+ KR = :kr
179
+ KW = :kw
180
+ KY = :ky
181
+ KZ = :kz
182
+ LA = :la
183
+ LB = :lb
184
+ LC = :lc
185
+ LK = :lk
186
+ LR = :lr
187
+ LS = :ls
188
+ LT = :lt
189
+ LU = :lu
190
+ LV = :lv
191
+ LY = :ly
192
+ MA = :ma
193
+ MC = :mc
194
+ MD = :md
195
+ ME = :me
196
+ MF = :mf
197
+ MG = :mg
198
+ MK = :mk
199
+ ML = :ml
200
+ MM = :mm
201
+ MN = :mn
202
+ MO = :mo
203
+ MQ = :mq
204
+ MR = :mr
205
+ MT = :mt
206
+ MU = :mu
207
+ MV = :mv
208
+ MW = :mw
209
+ MX = :mx
210
+ MY = :my
211
+ MZ = :mz
212
+ NA = :na
213
+ NC = :nc
214
+ NE = :ne
215
+ NG = :ng
216
+ NI = :ni
217
+ NL = :nl
218
+ NO = :no
219
+ NP = :np
220
+ NZ = :nz
221
+ OM = :om
222
+ PA = :pa
223
+ PE = :pe
224
+ PF = :pf
225
+ PG = :pg
226
+ PH = :ph
227
+ PK = :pk
228
+ PL = :pl
229
+ PR = :pr
230
+ PS = :ps
231
+ PT = :pt
232
+ PY = :py
233
+ QA = :qa
234
+ RE = :re
235
+ RO = :ro
236
+ RS = :rs
237
+ RU = :ru
238
+ RW = :rw
239
+ SA = :sa
240
+ SC = :sc
241
+ SD = :sd
242
+ SE = :se
243
+ SG = :sg
244
+ SI = :si
245
+ SK = :sk
246
+ SL = :sl
247
+ SM = :sm
248
+ SN = :sn
249
+ SO = :so
250
+ SR = :sr
251
+ SS = :ss
252
+ ST = :st
253
+ SV = :sv
254
+ SX = :sx
255
+ SY = :sy
256
+ SZ = :sz
257
+ TC = :tc
258
+ TD = :td
259
+ TG = :tg
260
+ TH = :th
261
+ TJ = :tj
262
+ TL = :tl
263
+ TM = :tm
264
+ TN = :tn
265
+ TR = :tr
266
+ TT = :tt
267
+ TW = :tw
268
+ TZ = :tz
269
+ UA = :ua
270
+ UG = :ug
271
+ US = :us
272
+ UY = :uy
273
+ UZ = :uz
274
+ VC = :vc
275
+ VE = :ve
276
+ VG = :vg
277
+ VI = :vi
278
+ VN = :vn
279
+ YE = :ye
280
+ YT = :yt
281
+ ZA = :za
282
+ ZM = :zm
283
+ ZW = :zw
284
+
285
+ # @!method self.values
286
+ # @return [Array<Symbol>]
287
+ end
288
+
289
+ class TimeoutOpts < ContextDev::Internal::Type::BaseModel
290
+ # @!attribute milliseconds
291
+ # Request deadline in milliseconds. Maximum: 300000 (5 minutes).
292
+ #
293
+ # @return [Integer]
294
+ required :milliseconds, Integer
295
+
296
+ # @!attribute behavior
297
+ # What to do at the deadline. This endpoint supports "fail": return 408
298
+ # REQUEST_TIMEOUT without charging credits.
299
+ #
300
+ # @return [Symbol, ContextDev::Models::WebWebScrapeBytesParams::TimeoutOpts::Behavior, nil]
301
+ optional :behavior, enum: -> { ContextDev::WebWebScrapeBytesParams::TimeoutOpts::Behavior }
302
+
303
+ # @!method initialize(milliseconds:, behavior: nil)
304
+ # Some parameter documentations has been truncated, see
305
+ # {ContextDev::Models::WebWebScrapeBytesParams::TimeoutOpts} for more details.
306
+ #
307
+ # Optional request deadline and behavior on timeout. For GET requests, use
308
+ # timeoutOpts[milliseconds]=30000&timeoutOpts[behavior]=fail or a JSON-encoded
309
+ # timeoutOpts object.
310
+ #
311
+ # @param milliseconds [Integer] Request deadline in milliseconds. Maximum: 300000 (5 minutes).
312
+ #
313
+ # @param behavior [Symbol, ContextDev::Models::WebWebScrapeBytesParams::TimeoutOpts::Behavior] What to do at the deadline. This endpoint supports "fail": return 408 REQUEST_TI
314
+
315
+ # What to do at the deadline. This endpoint supports "fail": return 408
316
+ # REQUEST_TIMEOUT without charging credits.
317
+ #
318
+ # @see ContextDev::Models::WebWebScrapeBytesParams::TimeoutOpts#behavior
319
+ module Behavior
320
+ extend ContextDev::Internal::Type::Enum
321
+
322
+ FAIL = :fail
323
+
324
+ # @!method self.values
325
+ # @return [Array<Symbol>]
326
+ end
327
+ end
328
+
329
+ # Set to enabled to bypass shared caches and omit request and response content
330
+ # from retained usage logs. Requires zero data retention to be enabled for your
331
+ # organization (contact support@context.dev), otherwise the request fails with
332
+ # ZDR_NOT_ENABLED. Successful ZDR responses include X-Context-ZDR: true.
333
+ module Zdr
334
+ extend ContextDev::Internal::Type::Enum
335
+
336
+ ENABLED = :enabled
337
+ DISABLED = :disabled
338
+
339
+ # @!method self.values
340
+ # @return [Array<Symbol>]
341
+ end
342
+ end
343
+ end
344
+ end
@@ -0,0 +1,135 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ContextDev
4
+ module Models
5
+ # @see ContextDev::Resources::Web#web_scrape_bytes
6
+ class WebWebScrapeBytesResponse < ContextDev::Internal::Type::BaseModel
7
+ # @!attribute bytes
8
+ # Base64-encoded resource bytes, without a data URI prefix. Decode this field to
9
+ # recover the downloaded file.
10
+ #
11
+ # @return [String]
12
+ required :bytes, String
13
+
14
+ # @!attribute content_length
15
+ # Number of decoded resource bytes, before base64 encoding.
16
+ #
17
+ # @return [Integer]
18
+ required :content_length, Integer, api_name: :contentLength
19
+
20
+ # @!attribute content_type
21
+ # The Content-Type returned by the origin, including any charset. Defaults to
22
+ # application/octet-stream when absent.
23
+ #
24
+ # @return [String]
25
+ required :content_type, String, api_name: :contentType
26
+
27
+ # @!attribute encoding
28
+ #
29
+ # @return [Symbol, ContextDev::Models::WebWebScrapeBytesResponse::Encoding]
30
+ required :encoding, enum: -> { ContextDev::Models::WebWebScrapeBytesResponse::Encoding }
31
+
32
+ # @!attribute final_url
33
+ # The resource URL after redirects.
34
+ #
35
+ # @return [String]
36
+ required :final_url, String, api_name: :finalUrl
37
+
38
+ # @!attribute request_id
39
+ # Unique id of this API call, also sent in the X-Request-Id response header. Quote
40
+ # it when contacting support about a failed request.
41
+ #
42
+ # @return [String]
43
+ required :request_id, String
44
+
45
+ # @!attribute status_code
46
+ # HTTP status returned by the origin.
47
+ #
48
+ # @return [Integer]
49
+ required :status_code, Integer, api_name: :statusCode
50
+
51
+ # @!attribute success
52
+ #
53
+ # @return [Boolean, ContextDev::Models::WebWebScrapeBytesResponse::Success]
54
+ required :success, enum: -> { ContextDev::Models::WebWebScrapeBytesResponse::Success }
55
+
56
+ # @!attribute url
57
+ # The requested resource URL.
58
+ #
59
+ # @return [String]
60
+ required :url, String
61
+
62
+ # @!attribute key_metadata
63
+ # Credit usage, included whenever a valid API key is provided.
64
+ #
65
+ # @return [ContextDev::Models::WebWebScrapeBytesResponse::KeyMetadata, nil]
66
+ optional :key_metadata, -> { ContextDev::Models::WebWebScrapeBytesResponse::KeyMetadata }
67
+
68
+ # @!method initialize(bytes:, content_length:, content_type:, encoding:, final_url:, request_id:, status_code:, success:, url:, key_metadata: nil)
69
+ # Some parameter documentations has been truncated, see
70
+ # {ContextDev::Models::WebWebScrapeBytesResponse} for more details.
71
+ #
72
+ # @param bytes [String] Base64-encoded resource bytes, without a data URI prefix. Decode this field to r
73
+ #
74
+ # @param content_length [Integer] Number of decoded resource bytes, before base64 encoding.
75
+ #
76
+ # @param content_type [String] The Content-Type returned by the origin, including any charset. Defaults to appl
77
+ #
78
+ # @param encoding [Symbol, ContextDev::Models::WebWebScrapeBytesResponse::Encoding]
79
+ #
80
+ # @param final_url [String] The resource URL after redirects.
81
+ #
82
+ # @param request_id [String] Unique id of this API call, also sent in the X-Request-Id response header. Quote
83
+ #
84
+ # @param status_code [Integer] HTTP status returned by the origin.
85
+ #
86
+ # @param success [Boolean, ContextDev::Models::WebWebScrapeBytesResponse::Success]
87
+ #
88
+ # @param url [String] The requested resource URL.
89
+ #
90
+ # @param key_metadata [ContextDev::Models::WebWebScrapeBytesResponse::KeyMetadata] Credit usage, included whenever a valid API key is provided.
91
+
92
+ # @see ContextDev::Models::WebWebScrapeBytesResponse#encoding
93
+ module Encoding
94
+ extend ContextDev::Internal::Type::Enum
95
+
96
+ BASE64 = :base64
97
+
98
+ # @!method self.values
99
+ # @return [Array<Symbol>]
100
+ end
101
+
102
+ # @see ContextDev::Models::WebWebScrapeBytesResponse#success
103
+ module Success
104
+ extend ContextDev::Internal::Type::Enum
105
+
106
+ TRUE = true
107
+
108
+ # @!method self.values
109
+ # @return [Array<Boolean>]
110
+ end
111
+
112
+ # @see ContextDev::Models::WebWebScrapeBytesResponse#key_metadata
113
+ class KeyMetadata < ContextDev::Internal::Type::BaseModel
114
+ # @!attribute credits_consumed
115
+ # Credits used by this request.
116
+ #
117
+ # @return [Integer]
118
+ required :credits_consumed, Integer
119
+
120
+ # @!attribute credits_remaining
121
+ # Credits remaining for your organization.
122
+ #
123
+ # @return [Integer]
124
+ required :credits_remaining, Integer
125
+
126
+ # @!method initialize(credits_consumed:, credits_remaining:)
127
+ # Credit usage, included whenever a valid API key is provided.
128
+ #
129
+ # @param credits_consumed [Integer] Credits used by this request.
130
+ #
131
+ # @param credits_remaining [Integer] Credits remaining for your organization.
132
+ end
133
+ end
134
+ end
135
+ end