ghostcrawl 2.3.4

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 (333) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +218 -0
  4. data/_generated/ghostcrawl.rb +0 -0
  5. data/_generated/ghostcrawl_client.rb +27 -0
  6. data/_generated/models/agent_request.rb +203 -0
  7. data/_generated/models/agent_request_mode.rb +8 -0
  8. data/_generated/models/agent_request_task.rb +164 -0
  9. data/_generated/models/agent_request_task_steps.rb +122 -0
  10. data/_generated/models/agent_request_task_steps_schema.rb +64 -0
  11. data/_generated/models/agent_request_task_steps_type.rb +9 -0
  12. data/_generated/models/auth_context.rb +204 -0
  13. data/_generated/models/batch_scrape_request.rb +644 -0
  14. data/_generated/models/batch_scrape_request_behavior_actions_member1.rb +62 -0
  15. data/_generated/models/batch_scrape_request_behavior_actions_member2.rb +62 -0
  16. data/_generated/models/batch_scrape_request_engine.rb +10 -0
  17. data/_generated/models/batch_scrape_request_extraction_strategy_member1.rb +62 -0
  18. data/_generated/models/batch_scrape_request_identity_country_member1.rb +62 -0
  19. data/_generated/models/batch_scrape_request_language_member1.rb +62 -0
  20. data/_generated/models/batch_scrape_request_output_format.rb +9 -0
  21. data/_generated/models/batch_scrape_request_profile_member1.rb +62 -0
  22. data/_generated/models/cdp_frame_request.rb +103 -0
  23. data/_generated/models/cdp_url_request.rb +82 -0
  24. data/_generated/models/content_request.rb +581 -0
  25. data/_generated/models/content_request_engine.rb +12 -0
  26. data/_generated/models/content_request_format.rb +10 -0
  27. data/_generated/models/content_request_identity_country_member1.rb +62 -0
  28. data/_generated/models/content_request_identity_member1.rb +62 -0
  29. data/_generated/models/content_request_language_member1.rb +62 -0
  30. data/_generated/models/content_request_profile_member1.rb +62 -0
  31. data/_generated/models/content_request_proxy_member1.rb +62 -0
  32. data/_generated/models/cookie_dict.rb +739 -0
  33. data/_generated/models/cookie_dict_domain_member1.rb +62 -0
  34. data/_generated/models/cookie_dict_expires_member1.rb +62 -0
  35. data/_generated/models/cookie_dict_http_only_member1.rb +62 -0
  36. data/_generated/models/cookie_dict_path_member1.rb +62 -0
  37. data/_generated/models/cookie_dict_same_site_member1.rb +62 -0
  38. data/_generated/models/cookie_dict_secure_member1.rb +62 -0
  39. data/_generated/models/cookie_dict_url_member1.rb +62 -0
  40. data/_generated/models/cookies_delete_body.rb +355 -0
  41. data/_generated/models/cookies_delete_body_domain_member1.rb +62 -0
  42. data/_generated/models/cookies_delete_body_name_member1.rb +62 -0
  43. data/_generated/models/cookies_delete_body_path_member1.rb +62 -0
  44. data/_generated/models/cookies_set_body.rb +102 -0
  45. data/_generated/models/deep_crawl_body.rb +542 -0
  46. data/_generated/models/deep_crawl_body_routing_mode.rb +11 -0
  47. data/_generated/models/deep_crawl_body_timeout_s_member1.rb +62 -0
  48. data/_generated/models/deep_crawl_body_wait_until_member1.rb +62 -0
  49. data/_generated/models/deep_crawl_body_webhook_url_member1.rb +62 -0
  50. data/_generated/models/dom_snapshot_body.rb +82 -0
  51. data/_generated/models/download_body.rb +102 -0
  52. data/_generated/models/error_code.rb +31 -0
  53. data/_generated/models/error_envelope.rb +264 -0
  54. data/_generated/models/error_envelope_limits.rb +162 -0
  55. data/_generated/models/eval_body.rb +102 -0
  56. data/_generated/models/extend_body.rb +155 -0
  57. data/_generated/models/extend_body_ttl_seconds_member1.rb +62 -0
  58. data/_generated/models/extract_request.rb +631 -0
  59. data/_generated/models/extract_request_behavior_actions_member1.rb +62 -0
  60. data/_generated/models/extract_request_behavior_actions_member2.rb +62 -0
  61. data/_generated/models/extract_request_engine.rb +12 -0
  62. data/_generated/models/extract_request_identity_country_member1.rb +62 -0
  63. data/_generated/models/extract_request_language_member1.rb +62 -0
  64. data/_generated/models/extract_request_prompt_member1.rb +62 -0
  65. data/_generated/models/extract_request_url_member1.rb +62 -0
  66. data/_generated/models/extract_request_urls_member1.rb +62 -0
  67. data/_generated/models/filter_spec.rb +62 -0
  68. data/_generated/models/har_body.rb +82 -0
  69. data/_generated/models/map_body.rb +238 -0
  70. data/_generated/models/map_body_search_member1.rb +62 -0
  71. data/_generated/models/map_response.rb +195 -0
  72. data/_generated/models/map_response_truncated_to_server_max_member1.rb +62 -0
  73. data/_generated/models/models.rb +152 -0
  74. data/_generated/models/pdf_request.rb +560 -0
  75. data/_generated/models/pdf_request_engine.rb +12 -0
  76. data/_generated/models/pdf_request_identity_country_member1.rb +62 -0
  77. data/_generated/models/pdf_request_identity_member1.rb +62 -0
  78. data/_generated/models/pdf_request_language_member1.rb +62 -0
  79. data/_generated/models/pdf_request_profile_member1.rb +62 -0
  80. data/_generated/models/pdf_request_proxy_member1.rb +62 -0
  81. data/_generated/models/problem_details.rb +226 -0
  82. data/_generated/models/profile_create_request.rb +175 -0
  83. data/_generated/models/profile_create_request_storage_state_id_member1.rb +62 -0
  84. data/_generated/models/profile_update_request.rb +246 -0
  85. data/_generated/models/profile_update_request_name_member1.rb +62 -0
  86. data/_generated/models/profile_update_request_storage_state_id_member1.rb +62 -0
  87. data/_generated/models/proxy_config.rb +116 -0
  88. data/_generated/models/retry_delivery_response.rb +145 -0
  89. data/_generated/models/rotate_secret_response.rb +145 -0
  90. data/_generated/models/schedule_create_request.rb +256 -0
  91. data/_generated/models/schedule_create_request_job_params.rb +64 -0
  92. data/_generated/models/schedule_create_request_notify_webhook_member1.rb +62 -0
  93. data/_generated/models/scorer_spec.rb +102 -0
  94. data/_generated/models/scrape_page_result.rb +62 -0
  95. data/_generated/models/scrape_request.rb +1254 -0
  96. data/_generated/models/scrape_request_batch_identity_mode.rb +10 -0
  97. data/_generated/models/scrape_request_behavior_actions_member1.rb +62 -0
  98. data/_generated/models/scrape_request_behavior_actions_member2.rb +62 -0
  99. data/_generated/models/scrape_request_engine.rb +12 -0
  100. data/_generated/models/scrape_request_format.rb +11 -0
  101. data/_generated/models/scrape_request_identity_country_member1.rb +62 -0
  102. data/_generated/models/scrape_request_identity_member1.rb +62 -0
  103. data/_generated/models/scrape_request_language_member1.rb +62 -0
  104. data/_generated/models/scrape_request_profile_member1.rb +62 -0
  105. data/_generated/models/scrape_request_proxy_member1.rb +62 -0
  106. data/_generated/models/scrape_request_routing_mode.rb +11 -0
  107. data/_generated/models/scrape_request_screenshot_selector_member1.rb +62 -0
  108. data/_generated/models/scrape_request_session_member1.rb +62 -0
  109. data/_generated/models/scrape_request_timeout_ms_member1.rb +62 -0
  110. data/_generated/models/scrape_request_url_member1.rb +62 -0
  111. data/_generated/models/scrape_request_urls_member1.rb +62 -0
  112. data/_generated/models/scrape_result.rb +630 -0
  113. data/_generated/models/scrape_result_format_member1.rb +62 -0
  114. data/_generated/models/scrape_result_identity_id_member1.rb +62 -0
  115. data/_generated/models/scrape_result_markdown_member1.rb +62 -0
  116. data/_generated/models/scrape_result_status_member1.rb +62 -0
  117. data/_generated/models/scrape_result_token_estimate_member1.rb +62 -0
  118. data/_generated/models/scrape_result_warnings_member1.rb +62 -0
  119. data/_generated/models/screenshot_request.rb +672 -0
  120. data/_generated/models/screenshot_request_engine.rb +12 -0
  121. data/_generated/models/screenshot_request_identity_country_member1.rb +62 -0
  122. data/_generated/models/screenshot_request_identity_member1.rb +62 -0
  123. data/_generated/models/screenshot_request_language_member1.rb +62 -0
  124. data/_generated/models/screenshot_request_profile_member1.rb +62 -0
  125. data/_generated/models/screenshot_request_proxy_member1.rb +62 -0
  126. data/_generated/models/screenshot_request_screenshot_selector_member1.rb +62 -0
  127. data/_generated/models/scroll_body.rb +284 -0
  128. data/_generated/models/scroll_body_direction.rb +11 -0
  129. data/_generated/models/scroll_body_distance_px_member1.rb +62 -0
  130. data/_generated/models/scroll_body_selector_member1.rb +62 -0
  131. data/_generated/models/search_request.rb +469 -0
  132. data/_generated/models/search_request_country_member1.rb +62 -0
  133. data/_generated/models/search_request_engine_member1.rb +62 -0
  134. data/_generated/models/search_request_freshness_member1.rb +62 -0
  135. data/_generated/models/search_request_vertical_member1.rb +62 -0
  136. data/_generated/models/session_create_request.rb +174 -0
  137. data/_generated/models/session_create_request_engine.rb +10 -0
  138. data/_generated/models/session_create_request_profile_member1.rb +62 -0
  139. data/_generated/models/storage_state_attach_request.rb +58 -0
  140. data/_generated/models/storage_state_detach_request.rb +58 -0
  141. data/_generated/models/takeover_action_body.rb +82 -0
  142. data/_generated/models/upload_body.rb +162 -0
  143. data/_generated/models/wait_body.rb +194 -0
  144. data/_generated/models/wait_body_selector_member1.rb +62 -0
  145. data/_generated/models/webhook_create_request.rb +125 -0
  146. data/_generated/models/webhook_create_response.rb +104 -0
  147. data/_generated/models/webhook_delivery_list_response.rb +195 -0
  148. data/_generated/models/webhook_delivery_list_response_next_cursor_member1.rb +62 -0
  149. data/_generated/models/webhook_delivery_public.rb +680 -0
  150. data/_generated/models/webhook_delivery_public_delivered_at_member1.rb +62 -0
  151. data/_generated/models/webhook_delivery_public_error_class_member1.rb +62 -0
  152. data/_generated/models/webhook_delivery_public_replay_of_member1.rb +62 -0
  153. data/_generated/models/webhook_delivery_public_response_body_preview_member1.rb +62 -0
  154. data/_generated/models/webhook_delivery_public_response_status_member1.rb +62 -0
  155. data/_generated/models/webhook_list_response.rb +195 -0
  156. data/_generated/models/webhook_list_response_next_cursor_member1.rb +62 -0
  157. data/_generated/models/webhook_public.rb +316 -0
  158. data/_generated/models/webhook_public_secret_rotated_at_member1.rb +62 -0
  159. data/_generated/v1/agent/agent.rb +1 -0
  160. data/_generated/v1/agent/agent404_error.rb +87 -0
  161. data/_generated/v1/agent/agent_request_builder.rb +73 -0
  162. data/_generated/v1/binary/binary.rb +9 -0
  163. data/_generated/v1/cdp/cdp.rb +0 -0
  164. data/_generated/v1/cdp/cdp_request_builder.rb +37 -0
  165. data/_generated/v1/cdp/frame/frame.rb +0 -0
  166. data/_generated/v1/cdp/frame/frame_request_builder.rb +74 -0
  167. data/_generated/v1/cdp/url/url.rb +0 -0
  168. data/_generated/v1/cdp/url/url_request_builder.rb +74 -0
  169. data/_generated/v1/content/content.rb +0 -0
  170. data/_generated/v1/content/content_request_builder.rb +71 -0
  171. data/_generated/v1/crawl/crawl.rb +0 -0
  172. data/_generated/v1/crawl/crawl_request_builder.rb +31 -0
  173. data/_generated/v1/crawl/deep/deep.rb +0 -0
  174. data/_generated/v1/crawl/deep/deep_request_builder.rb +86 -0
  175. data/_generated/v1/crawl/deep/item/item.rb +0 -0
  176. data/_generated/v1/crawl/deep/item/with_run_item_request_builder.rb +71 -0
  177. data/_generated/v1/crawl_runs/crawl_runs.rb +1 -0
  178. data/_generated/v1/crawl_runs/crawl_runs_post_request_body.rb +65 -0
  179. data/_generated/v1/crawl_runs/crawl_runs_request_builder.rb +131 -0
  180. data/_generated/v1/crawl_runs/item/cancel/cancel.rb +0 -0
  181. data/_generated/v1/crawl_runs/item/cancel/cancel_request_builder.rb +71 -0
  182. data/_generated/v1/crawl_runs/item/item.rb +0 -0
  183. data/_generated/v1/crawl_runs/item/resume/resume.rb +0 -0
  184. data/_generated/v1/crawl_runs/item/resume/resume_request_builder.rb +71 -0
  185. data/_generated/v1/crawl_runs/item/with_run_item_request_builder.rb +96 -0
  186. data/_generated/v1/datasets/datasets.rb +1 -0
  187. data/_generated/v1/datasets/datasets_post_request_body.rb +65 -0
  188. data/_generated/v1/datasets/datasets_request_builder.rb +124 -0
  189. data/_generated/v1/datasets/item/item.rb +0 -0
  190. data/_generated/v1/datasets/item/rows/append/append.rb +1 -0
  191. data/_generated/v1/datasets/item/rows/append/append_post_request_body.rb +74 -0
  192. data/_generated/v1/datasets/item/rows/append/append_request_builder.rb +79 -0
  193. data/_generated/v1/datasets/item/rows/rows.rb +0 -0
  194. data/_generated/v1/datasets/item/rows/rows_request_builder.rb +86 -0
  195. data/_generated/v1/datasets/item/with_name_item_request_builder.rb +104 -0
  196. data/_generated/v1/downloads/downloads.rb +0 -0
  197. data/_generated/v1/downloads/downloads_request_builder.rb +76 -0
  198. data/_generated/v1/downloads/item/item.rb +0 -0
  199. data/_generated/v1/downloads/item/with_download_item_request_builder.rb +97 -0
  200. data/_generated/v1/extract/extract.rb +1 -0
  201. data/_generated/v1/extract/extract_post_response.rb +65 -0
  202. data/_generated/v1/extract/extract_request_builder.rb +78 -0
  203. data/_generated/v1/kv/item/item.rb +1 -0
  204. data/_generated/v1/kv/item/with_key_item_request_builder.rb +133 -0
  205. data/_generated/v1/kv/item/with_key_put_request_body.rb +68 -0
  206. data/_generated/v1/kv/kv.rb +0 -0
  207. data/_generated/v1/kv/kv_request_builder.rb +37 -0
  208. data/_generated/v1/map/map.rb +0 -0
  209. data/_generated/v1/map/map_request_builder.rb +72 -0
  210. data/_generated/v1/page/cookies/cookies.rb +0 -0
  211. data/_generated/v1/page/cookies/cookies_request_builder.rb +150 -0
  212. data/_generated/v1/page/dom_snapshot/dom_snapshot.rb +0 -0
  213. data/_generated/v1/page/dom_snapshot/dom_snapshot_request_builder.rb +74 -0
  214. data/_generated/v1/page/download/download.rb +0 -0
  215. data/_generated/v1/page/download/download_request_builder.rb +74 -0
  216. data/_generated/v1/page/eval/eval.rb +0 -0
  217. data/_generated/v1/page/eval/eval_request_builder.rb +74 -0
  218. data/_generated/v1/page/har/har.rb +0 -0
  219. data/_generated/v1/page/har/har_request_builder.rb +74 -0
  220. data/_generated/v1/page/page.rb +0 -0
  221. data/_generated/v1/page/page_request_builder.rb +73 -0
  222. data/_generated/v1/page/scroll/scroll.rb +0 -0
  223. data/_generated/v1/page/scroll/scroll_request_builder.rb +74 -0
  224. data/_generated/v1/page/upload/upload.rb +0 -0
  225. data/_generated/v1/page/upload/upload_request_builder.rb +74 -0
  226. data/_generated/v1/page/wait/wait.rb +0 -0
  227. data/_generated/v1/page/wait/wait_request_builder.rb +74 -0
  228. data/_generated/v1/pdf/pdf.rb +0 -0
  229. data/_generated/v1/pdf/pdf_request_builder.rb +71 -0
  230. data/_generated/v1/profiles/item/item.rb +0 -0
  231. data/_generated/v1/profiles/item/with_name_item_request_builder.rb +134 -0
  232. data/_generated/v1/profiles/profiles.rb +0 -0
  233. data/_generated/v1/profiles/profiles_request_builder.rb +125 -0
  234. data/_generated/v1/recordings/item/item.rb +0 -0
  235. data/_generated/v1/recordings/item/recording_item_request_builder.rb +102 -0
  236. data/_generated/v1/recordings/item/visual/frames/frames.rb +0 -0
  237. data/_generated/v1/recordings/item/visual/frames/frames_request_builder.rb +93 -0
  238. data/_generated/v1/recordings/item/visual/start/start.rb +0 -0
  239. data/_generated/v1/recordings/item/visual/start/start_request_builder.rb +80 -0
  240. data/_generated/v1/recordings/item/visual/stop/stop.rb +0 -0
  241. data/_generated/v1/recordings/item/visual/stop/stop_request_builder.rb +80 -0
  242. data/_generated/v1/recordings/item/visual/visual.rb +0 -0
  243. data/_generated/v1/recordings/item/visual/visual_request_builder.rb +95 -0
  244. data/_generated/v1/recordings/recordings.rb +0 -0
  245. data/_generated/v1/recordings/recordings_request_builder.rb +89 -0
  246. data/_generated/v1/schedules/item/item.rb +0 -0
  247. data/_generated/v1/schedules/item/runs/runs.rb +0 -0
  248. data/_generated/v1/schedules/item/runs/runs_request_builder.rb +71 -0
  249. data/_generated/v1/schedules/item/with_schedule_item_request_builder.rb +103 -0
  250. data/_generated/v1/schedules/schedules.rb +0 -0
  251. data/_generated/v1/schedules/schedules_request_builder.rb +113 -0
  252. data/_generated/v1/scrape/batch/batch.rb +0 -0
  253. data/_generated/v1/scrape/batch/batch_request_builder.rb +81 -0
  254. data/_generated/v1/scrape/scrape.rb +0 -0
  255. data/_generated/v1/scrape/scrape_request_builder.rb +86 -0
  256. data/_generated/v1/screenshot/screenshot.rb +0 -0
  257. data/_generated/v1/screenshot/screenshot_request_builder.rb +71 -0
  258. data/_generated/v1/screenshot_blobs/item/item.rb +0 -0
  259. data/_generated/v1/screenshot_blobs/item/with_ref_item_request_builder.rb +68 -0
  260. data/_generated/v1/screenshot_blobs/screenshot_blobs.rb +0 -0
  261. data/_generated/v1/screenshot_blobs/screenshot_blobs_request_builder.rb +37 -0
  262. data/_generated/v1/search/jobs/item/item.rb +0 -0
  263. data/_generated/v1/search/jobs/item/with_job_item_request_builder.rb +71 -0
  264. data/_generated/v1/search/jobs/jobs.rb +0 -0
  265. data/_generated/v1/search/jobs/jobs_request_builder.rb +40 -0
  266. data/_generated/v1/search/search.rb +0 -0
  267. data/_generated/v1/search/search_request_builder.rb +84 -0
  268. data/_generated/v1/selfhost/byo/behavior/behavior.rb +1 -0
  269. data/_generated/v1/selfhost/byo/behavior/behavior_put_request_body.rb +71 -0
  270. data/_generated/v1/selfhost/byo/behavior/behavior_request_builder.rb +76 -0
  271. data/_generated/v1/selfhost/byo/byo.rb +0 -0
  272. data/_generated/v1/selfhost/byo/byo_request_builder.rb +46 -0
  273. data/_generated/v1/selfhost/byo/identity/identity.rb +1 -0
  274. data/_generated/v1/selfhost/byo/identity/identity_put_request_body.rb +71 -0
  275. data/_generated/v1/selfhost/byo/identity/identity_request_builder.rb +76 -0
  276. data/_generated/v1/selfhost/byo/proxy/proxy.rb +1 -0
  277. data/_generated/v1/selfhost/byo/proxy/proxy_put_request_body.rb +71 -0
  278. data/_generated/v1/selfhost/byo/proxy/proxy_request_builder.rb +76 -0
  279. data/_generated/v1/selfhost/selfhost.rb +0 -0
  280. data/_generated/v1/selfhost/selfhost_request_builder.rb +31 -0
  281. data/_generated/v1/sessions/create/create.rb +0 -0
  282. data/_generated/v1/sessions/create/create_request_builder.rb +74 -0
  283. data/_generated/v1/sessions/item/extend/extend.rb +0 -0
  284. data/_generated/v1/sessions/item/extend/extend_request_builder.rb +77 -0
  285. data/_generated/v1/sessions/item/item.rb +0 -0
  286. data/_generated/v1/sessions/item/pin/pin.rb +0 -0
  287. data/_generated/v1/sessions/item/pin/pin_request_builder.rb +71 -0
  288. data/_generated/v1/sessions/item/profile_item_request_builder.rb +70 -0
  289. data/_generated/v1/sessions/item/recording/recording.rb +0 -0
  290. data/_generated/v1/sessions/item/recording/recording_request_builder.rb +43 -0
  291. data/_generated/v1/sessions/item/recording/start/start.rb +0 -0
  292. data/_generated/v1/sessions/item/recording/start/start_request_builder.rb +74 -0
  293. data/_generated/v1/sessions/item/recording/stop/stop.rb +0 -0
  294. data/_generated/v1/sessions/item/recording/stop/stop_request_builder.rb +74 -0
  295. data/_generated/v1/sessions/item/release/release.rb +0 -0
  296. data/_generated/v1/sessions/item/release/release_request_builder.rb +71 -0
  297. data/_generated/v1/sessions/item/takeover/takeover.rb +0 -0
  298. data/_generated/v1/sessions/item/takeover/takeover_request_builder.rb +77 -0
  299. data/_generated/v1/sessions/item/takeover_release/takeover_release.rb +0 -0
  300. data/_generated/v1/sessions/item/takeover_release/takeover_release_request_builder.rb +71 -0
  301. data/_generated/v1/sessions/item/takeover_token/takeover_token.rb +0 -0
  302. data/_generated/v1/sessions/item/takeover_token/takeover_token_request_builder.rb +71 -0
  303. data/_generated/v1/sessions/sessions.rb +0 -0
  304. data/_generated/v1/sessions/sessions_request_builder.rb +95 -0
  305. data/_generated/v1/storage_states/detach/detach.rb +0 -0
  306. data/_generated/v1/storage_states/detach/detach_request_builder.rb +74 -0
  307. data/_generated/v1/storage_states/item/attach/attach.rb +0 -0
  308. data/_generated/v1/storage_states/item/attach/attach_request_builder.rb +77 -0
  309. data/_generated/v1/storage_states/item/item.rb +0 -0
  310. data/_generated/v1/storage_states/item/with_id_or_name_item_request_builder.rb +104 -0
  311. data/_generated/v1/storage_states/storage_states.rb +1 -0
  312. data/_generated/v1/storage_states/storage_states_post_request_body.rb +65 -0
  313. data/_generated/v1/storage_states/storage_states_request_builder.rb +127 -0
  314. data/_generated/v1/v1.rb +0 -0
  315. data/_generated/v1/v1_request_builder.rb +161 -0
  316. data/_generated/v1/webhooks/item/deliveries/deliveries.rb +0 -0
  317. data/_generated/v1/webhooks/item/deliveries/deliveries_request_builder.rb +96 -0
  318. data/_generated/v1/webhooks/item/deliveries/item/item.rb +0 -0
  319. data/_generated/v1/webhooks/item/deliveries/item/retry_escaped/retry_escaped.rb +0 -0
  320. data/_generated/v1/webhooks/item/deliveries/item/retry_escaped/retry_request_builder.rb +78 -0
  321. data/_generated/v1/webhooks/item/deliveries/item/with_delivery_item_request_builder.rb +40 -0
  322. data/_generated/v1/webhooks/item/item.rb +0 -0
  323. data/_generated/v1/webhooks/item/rotate_secret/rotate_secret.rb +0 -0
  324. data/_generated/v1/webhooks/item/rotate_secret/rotate_secret_request_builder.rb +72 -0
  325. data/_generated/v1/webhooks/item/with_webhook_item_request_builder.rb +111 -0
  326. data/_generated/v1/webhooks/webhooks.rb +0 -0
  327. data/_generated/v1/webhooks/webhooks_request_builder.rb +127 -0
  328. data/lib/ghostcrawl/client.rb +1351 -0
  329. data/lib/ghostcrawl/error_codes.rb +111 -0
  330. data/lib/ghostcrawl/errors.rb +137 -0
  331. data/lib/ghostcrawl/version.rb +5 -0
  332. data/lib/ghostcrawl.rb +17 -0
  333. metadata +422 -0
@@ -0,0 +1,104 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../../ghostcrawl'
3
+ require_relative '../../../models/problem_details'
4
+ require_relative '../../v1'
5
+ require_relative '../datasets'
6
+ require_relative './item'
7
+ require_relative './rows/rows_request_builder'
8
+
9
+ module GhostCrawl
10
+ module V1
11
+ module Datasets
12
+ module Item
13
+ ##
14
+ # Builds and executes requests for operations under #v1#datasets#{name}
15
+ class WithNameItemRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
16
+
17
+ ##
18
+ # The rows property
19
+ def rows()
20
+ return GhostCrawl::V1::Datasets::Item::Rows::RowsRequestBuilder.new(@path_parameters, @request_adapter)
21
+ end
22
+ ##
23
+ ## Instantiates a new WithNameItemRequestBuilder and sets the default values.
24
+ ## @param path_parameters Path parameters for the request
25
+ ## @param request_adapter The request adapter to use to execute the requests.
26
+ ## @return a void
27
+ ##
28
+ def initialize(path_parameters, request_adapter)
29
+ super(path_parameters, request_adapter, "{+baseurl}/v1/datasets/{name}")
30
+ end
31
+ ##
32
+ ## delete. Returns 200 on success, 404 on miss.
33
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
34
+ ## @return a Fiber of binary
35
+ ##
36
+ def delete(request_configuration=nil)
37
+ request_info = self.to_delete_request_information(
38
+ request_configuration
39
+ )
40
+ error_mapping = Hash.new
41
+ error_mapping["422"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
42
+ return @request_adapter.send_async(request_info, Binary, error_mapping)
43
+ end
44
+ ##
45
+ ## metadata only. Credentials are never included in the response.
46
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
47
+ ## @return a Fiber of binary
48
+ ##
49
+ def get(request_configuration=nil)
50
+ request_info = self.to_get_request_information(
51
+ request_configuration
52
+ )
53
+ error_mapping = Hash.new
54
+ error_mapping["422"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
55
+ return @request_adapter.send_async(request_info, Binary, error_mapping)
56
+ end
57
+ ##
58
+ ## delete. Returns 200 on success, 404 on miss.
59
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
60
+ ## @return a request_information
61
+ ##
62
+ def to_delete_request_information(request_configuration=nil)
63
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
64
+ unless request_configuration.nil?
65
+ request_info.add_headers_from_raw_object(request_configuration.headers)
66
+ request_info.add_request_options(request_configuration.options)
67
+ end
68
+ request_info.url_template = @url_template
69
+ request_info.path_parameters = @path_parameters
70
+ request_info.http_method = :DELETE
71
+ request_info.headers.try_add('Accept', 'application/json')
72
+ return request_info
73
+ end
74
+ ##
75
+ ## metadata only. Credentials are never included in the response.
76
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
77
+ ## @return a request_information
78
+ ##
79
+ def to_get_request_information(request_configuration=nil)
80
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
81
+ unless request_configuration.nil?
82
+ request_info.add_headers_from_raw_object(request_configuration.headers)
83
+ request_info.add_request_options(request_configuration.options)
84
+ end
85
+ request_info.url_template = @url_template
86
+ request_info.path_parameters = @path_parameters
87
+ request_info.http_method = :GET
88
+ request_info.headers.try_add('Accept', 'application/json')
89
+ return request_info
90
+ end
91
+ ##
92
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
93
+ ## @param raw_url The raw URL to use for the request builder.
94
+ ## @return a with_name_item_request_builder
95
+ ##
96
+ def with_url(raw_url)
97
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
98
+ return WithNameItemRequestBuilder.new(raw_url, @request_adapter)
99
+ end
100
+ end
101
+ end
102
+ end
103
+ end
104
+ end
File without changes
@@ -0,0 +1,76 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../ghostcrawl'
3
+ require_relative '../../models/problem_details'
4
+ require_relative '../v1'
5
+ require_relative './downloads'
6
+ require_relative './item/with_download_item_request_builder'
7
+
8
+ module GhostCrawl
9
+ module V1
10
+ module Downloads
11
+ ##
12
+ # Builds and executes requests for operations under #v1#downloads
13
+ class DownloadsRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
14
+
15
+ ##
16
+ ## Gets an item from the GhostCrawl.v1.downloads.item collection
17
+ ## @param download_id Unique identifier of the item
18
+ ## @return a with_download_item_request_builder
19
+ ##
20
+ def by_download_id(download_id)
21
+ raise StandardError, 'download_id cannot be null' if download_id.nil?
22
+ url_tpl_params = @path_parameters.clone
23
+ url_tpl_params["download_id"] = download_id
24
+ return GhostCrawl::V1::Downloads::Item::WithDownloadItemRequestBuilder.new(url_tpl_params, @request_adapter)
25
+ end
26
+ ##
27
+ ## Instantiates a new DownloadsRequestBuilder and sets the default values.
28
+ ## @param path_parameters Path parameters for the request
29
+ ## @param request_adapter The request adapter to use to execute the requests.
30
+ ## @return a void
31
+ ##
32
+ def initialize(path_parameters, request_adapter)
33
+ super(path_parameters, request_adapter, "{+baseurl}/v1/downloads")
34
+ end
35
+ ##
36
+ ## List captured downloads
37
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
38
+ ## @return a Fiber of binary
39
+ ##
40
+ def get(request_configuration=nil)
41
+ request_info = self.to_get_request_information(
42
+ request_configuration
43
+ )
44
+ error_mapping = Hash.new
45
+ error_mapping["422"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
46
+ return @request_adapter.send_async(request_info, Binary, error_mapping)
47
+ end
48
+ ##
49
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
50
+ ## @return a request_information
51
+ ##
52
+ def to_get_request_information(request_configuration=nil)
53
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
54
+ unless request_configuration.nil?
55
+ request_info.add_headers_from_raw_object(request_configuration.headers)
56
+ request_info.add_request_options(request_configuration.options)
57
+ end
58
+ request_info.url_template = @url_template
59
+ request_info.path_parameters = @path_parameters
60
+ request_info.http_method = :GET
61
+ request_info.headers.try_add('Accept', 'application/json')
62
+ return request_info
63
+ end
64
+ ##
65
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
66
+ ## @param raw_url The raw URL to use for the request builder.
67
+ ## @return a downloads_request_builder
68
+ ##
69
+ def with_url(raw_url)
70
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
71
+ return DownloadsRequestBuilder.new(raw_url, @request_adapter)
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
File without changes
@@ -0,0 +1,97 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../../ghostcrawl'
3
+ require_relative '../../../models/problem_details'
4
+ require_relative '../../v1'
5
+ require_relative '../downloads'
6
+ require_relative './item'
7
+
8
+ module GhostCrawl
9
+ module V1
10
+ module Downloads
11
+ module Item
12
+ ##
13
+ # Builds and executes requests for operations under #v1#downloads#{download_id}
14
+ class WithDownloadItemRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
15
+
16
+ ##
17
+ ## Instantiates a new WithDownloadItemRequestBuilder and sets the default values.
18
+ ## @param path_parameters Path parameters for the request
19
+ ## @param request_adapter The request adapter to use to execute the requests.
20
+ ## @return a void
21
+ ##
22
+ def initialize(path_parameters, request_adapter)
23
+ super(path_parameters, request_adapter, "{+baseurl}/v1/downloads/{download_id}")
24
+ end
25
+ ##
26
+ ## Delete a captured download
27
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
28
+ ## @return a Fiber of void
29
+ ##
30
+ def delete(request_configuration=nil)
31
+ request_info = self.to_delete_request_information(
32
+ request_configuration
33
+ )
34
+ error_mapping = Hash.new
35
+ error_mapping["422"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
36
+ return @request_adapter.send_async(request_info, nil, error_mapping)
37
+ end
38
+ ##
39
+ ## GET /v1/downloads/{id} → the download's signed retrieval link / metadata. we do not confirm existence of another tenant's artifact).
40
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
41
+ ## @return a Fiber of binary
42
+ ##
43
+ def get(request_configuration=nil)
44
+ request_info = self.to_get_request_information(
45
+ request_configuration
46
+ )
47
+ error_mapping = Hash.new
48
+ error_mapping["422"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
49
+ return @request_adapter.send_async(request_info, Binary, error_mapping)
50
+ end
51
+ ##
52
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
53
+ ## @return a request_information
54
+ ##
55
+ def to_delete_request_information(request_configuration=nil)
56
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
57
+ unless request_configuration.nil?
58
+ request_info.add_headers_from_raw_object(request_configuration.headers)
59
+ request_info.add_request_options(request_configuration.options)
60
+ end
61
+ request_info.url_template = @url_template
62
+ request_info.path_parameters = @path_parameters
63
+ request_info.http_method = :DELETE
64
+ request_info.headers.try_add('Accept', 'application/problem+json')
65
+ return request_info
66
+ end
67
+ ##
68
+ ## GET /v1/downloads/{id} → the download's signed retrieval link / metadata. we do not confirm existence of another tenant's artifact).
69
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
70
+ ## @return a request_information
71
+ ##
72
+ def to_get_request_information(request_configuration=nil)
73
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
74
+ unless request_configuration.nil?
75
+ request_info.add_headers_from_raw_object(request_configuration.headers)
76
+ request_info.add_request_options(request_configuration.options)
77
+ end
78
+ request_info.url_template = @url_template
79
+ request_info.path_parameters = @path_parameters
80
+ request_info.http_method = :GET
81
+ request_info.headers.try_add('Accept', 'application/json')
82
+ return request_info
83
+ end
84
+ ##
85
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
86
+ ## @param raw_url The raw URL to use for the request builder.
87
+ ## @return a with_download_item_request_builder
88
+ ##
89
+ def with_url(raw_url)
90
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
91
+ return WithDownloadItemRequestBuilder.new(raw_url, @request_adapter)
92
+ end
93
+ end
94
+ end
95
+ end
96
+ end
97
+ end
@@ -0,0 +1 @@
1
+ require_relative 'extract_post_response'
@@ -0,0 +1,65 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../ghostcrawl'
3
+ require_relative '../v1'
4
+ require_relative './extract'
5
+
6
+ module GhostCrawl
7
+ module V1
8
+ module Extract
9
+ class ExtractPostResponse
10
+ include MicrosoftKiotaAbstractions::AdditionalDataHolder, MicrosoftKiotaAbstractions::Parsable
11
+ ##
12
+ # Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
13
+ @additional_data
14
+ ##
15
+ ## Gets the AdditionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
16
+ ## @return a i_dictionary
17
+ ##
18
+ def additional_data
19
+ return @additional_data
20
+ end
21
+ ##
22
+ ## Sets the AdditionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
23
+ ## @param value Value to set for the AdditionalData property.
24
+ ## @return a void
25
+ ##
26
+ def additional_data=(value)
27
+ @additional_data = value
28
+ end
29
+ ##
30
+ ## Instantiates a new ExtractPostResponse and sets the default values.
31
+ ## @return a void
32
+ ##
33
+ def initialize()
34
+ @additional_data = Hash.new
35
+ end
36
+ ##
37
+ ## Creates a new instance of the appropriate class based on discriminator value
38
+ ## @param parse_node The parse node to use to read the discriminator value and create the object
39
+ ## @return a extract_post_response
40
+ ##
41
+ def self.create_from_discriminator_value(parse_node)
42
+ raise StandardError, 'parse_node cannot be null' if parse_node.nil?
43
+ return ExtractPostResponse.new
44
+ end
45
+ ##
46
+ ## The deserialization information for the current model
47
+ ## @return a i_dictionary
48
+ ##
49
+ def get_field_deserializers()
50
+ return {
51
+ }
52
+ end
53
+ ##
54
+ ## Serializes information the current object
55
+ ## @param writer Serialization writer to use to serialize this model
56
+ ## @return a void
57
+ ##
58
+ def serialize(writer)
59
+ raise StandardError, 'writer cannot be null' if writer.nil?
60
+ writer.write_additional_data(@additional_data)
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,78 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../ghostcrawl'
3
+ require_relative '../../models/extract_request'
4
+ require_relative '../../models/problem_details'
5
+ require_relative '../v1'
6
+ require_relative './extract'
7
+
8
+ module GhostCrawl
9
+ module V1
10
+ module Extract
11
+ ##
12
+ # Builds and executes requests for operations under #v1#extract
13
+ class ExtractRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
14
+
15
+ ##
16
+ ## Instantiates a new ExtractRequestBuilder and sets the default values.
17
+ ## @param path_parameters Path parameters for the request
18
+ ## @param request_adapter The request adapter to use to execute the requests.
19
+ ## @return a void
20
+ ##
21
+ def initialize(path_parameters, request_adapter)
22
+ super(path_parameters, request_adapter, "{+baseurl}/v1/extract")
23
+ end
24
+ ##
25
+ ## structured extraction (deterministic default) + bring-your-own-model extraction. Two modes (selected by model_provider): DETERMINISTIC (model_provider absent, default): 1. The schema is validated (input guard). 2. The URL is validated against private/loopback/metadata targets. 3. The page is fetched and rendered. 4. Structured data is extracted via CSS/regex/keyword rules. 5. The result is validated against the schema, 422 on mismatch (field path only). Returns {"url","data","token_estimate"}. BRING-YOUR-OWN-MODEL (model_provider present): 1. Target URLs are resolved (urls or [url]). 2. The schema is validated if present. 3. At least one of prompt or schema is required, 400 prompt_or_schema_required otherwise. 4. Model credentials are validated, 400 invalid_model_provider on error (the message never echoes the key). 5. Every target URL is validated before fetching, 400 ssrf_blocked. 6. Each URL is fetched and converted to clean Markdown. 7. Your connected model performs the extraction. 8. With a schema present, the result is validated, 422 on mismatch. Returns {"urls","data","token_estimate"}. Security: 401 without a valid Bearer token. - model_provider.api_key is request-scoped: never persisted, logged, or echoed. - Error responses never echo the schema body, fetched content, or credentials.
26
+ ## @param body POST /v1/extract request body, schema-driven extraction (deterministic) + bring-your-own-model extraction. Two extraction modes: - Deterministic (default, model_provider absent): CSS/regex/keyword extraction. Requires 'schema'. Returns {"url","data","token_estimate"}. - Bring-your-own-model (model_provider present): GhostCrawl fetches and prepares clean Markdown; your connected model performs the semantic extraction (you are not billed for model inference here, only the request quota). Returns {"urls","data","token_estimate"}. Security notes: - The 'schema' field is validated before any fetch (fail-fast input guard). - URLs are validated against private, loopback, and metadata targets before any fetch. - Error responses never echo the schema body, fetched content, or model credentials. - model_provider.api_key is request-scoped only: never persisted, logged, or returned in any response body or error message.
27
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
28
+ ## @return a Fiber of extract_post_response
29
+ ##
30
+ def post(body, request_configuration=nil)
31
+ raise StandardError, 'body cannot be null' if body.nil?
32
+ request_info = self.to_post_request_information(
33
+ body, request_configuration
34
+ )
35
+ error_mapping = Hash.new
36
+ error_mapping["400"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
37
+ error_mapping["401"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
38
+ error_mapping["402"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
39
+ error_mapping["422"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
40
+ error_mapping["429"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
41
+ error_mapping["500"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
42
+ error_mapping["503"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
43
+ error_mapping["504"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
44
+ return @request_adapter.send_async(request_info, lambda {|pn| GhostCrawl::V1::Extract::ExtractPostResponse.create_from_discriminator_value(pn) }, error_mapping)
45
+ end
46
+ ##
47
+ ## structured extraction (deterministic default) + bring-your-own-model extraction. Two modes (selected by model_provider): DETERMINISTIC (model_provider absent, default): 1. The schema is validated (input guard). 2. The URL is validated against private/loopback/metadata targets. 3. The page is fetched and rendered. 4. Structured data is extracted via CSS/regex/keyword rules. 5. The result is validated against the schema, 422 on mismatch (field path only). Returns {"url","data","token_estimate"}. BRING-YOUR-OWN-MODEL (model_provider present): 1. Target URLs are resolved (urls or [url]). 2. The schema is validated if present. 3. At least one of prompt or schema is required, 400 prompt_or_schema_required otherwise. 4. Model credentials are validated, 400 invalid_model_provider on error (the message never echoes the key). 5. Every target URL is validated before fetching, 400 ssrf_blocked. 6. Each URL is fetched and converted to clean Markdown. 7. Your connected model performs the extraction. 8. With a schema present, the result is validated, 422 on mismatch. Returns {"urls","data","token_estimate"}. Security: 401 without a valid Bearer token. - model_provider.api_key is request-scoped: never persisted, logged, or echoed. - Error responses never echo the schema body, fetched content, or credentials.
48
+ ## @param body POST /v1/extract request body, schema-driven extraction (deterministic) + bring-your-own-model extraction. Two extraction modes: - Deterministic (default, model_provider absent): CSS/regex/keyword extraction. Requires 'schema'. Returns {"url","data","token_estimate"}. - Bring-your-own-model (model_provider present): GhostCrawl fetches and prepares clean Markdown; your connected model performs the semantic extraction (you are not billed for model inference here, only the request quota). Returns {"urls","data","token_estimate"}. Security notes: - The 'schema' field is validated before any fetch (fail-fast input guard). - URLs are validated against private, loopback, and metadata targets before any fetch. - Error responses never echo the schema body, fetched content, or model credentials. - model_provider.api_key is request-scoped only: never persisted, logged, or returned in any response body or error message.
49
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
50
+ ## @return a request_information
51
+ ##
52
+ def to_post_request_information(body, request_configuration=nil)
53
+ raise StandardError, 'body cannot be null' if body.nil?
54
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
55
+ unless request_configuration.nil?
56
+ request_info.add_headers_from_raw_object(request_configuration.headers)
57
+ request_info.add_request_options(request_configuration.options)
58
+ end
59
+ request_info.set_content_from_parsable(@request_adapter, 'application/json', body)
60
+ request_info.url_template = @url_template
61
+ request_info.path_parameters = @path_parameters
62
+ request_info.http_method = :POST
63
+ request_info.headers.try_add('Accept', 'application/json')
64
+ return request_info
65
+ end
66
+ ##
67
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
68
+ ## @param raw_url The raw URL to use for the request builder.
69
+ ## @return a extract_request_builder
70
+ ##
71
+ def with_url(raw_url)
72
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
73
+ return ExtractRequestBuilder.new(raw_url, @request_adapter)
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1 @@
1
+ require_relative 'with_key_put_request_body'
@@ -0,0 +1,133 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../../ghostcrawl'
3
+ require_relative '../../../models/problem_details'
4
+ require_relative '../../v1'
5
+ require_relative '../kv'
6
+ require_relative './item'
7
+
8
+ module GhostCrawl
9
+ module V1
10
+ module Kv
11
+ module Item
12
+ ##
13
+ # Builds and executes requests for operations under #v1#kv#{key}
14
+ class WithKeyItemRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
15
+
16
+ ##
17
+ ## Instantiates a new WithKeyItemRequestBuilder and sets the default values.
18
+ ## @param path_parameters Path parameters for the request
19
+ ## @param request_adapter The request adapter to use to execute the requests.
20
+ ## @return a void
21
+ ##
22
+ def initialize(path_parameters, request_adapter)
23
+ super(path_parameters, request_adapter, "{+baseurl}/v1/kv/{key}")
24
+ end
25
+ ##
26
+ ## remove a KV entry. Returns {deleted: true}. 404 on miss).
27
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
28
+ ## @return a Fiber of binary
29
+ ##
30
+ def delete(request_configuration=nil)
31
+ request_info = self.to_delete_request_information(
32
+ request_configuration
33
+ )
34
+ error_mapping = Hash.new
35
+ error_mapping["422"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
36
+ return @request_adapter.send_async(request_info, Binary, error_mapping)
37
+ end
38
+ ##
39
+ ## read a KV entry. Returns {key, value, value_type}. For blobs, returns bytes with application/octet-stream content-type. 404 on miss).
40
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
41
+ ## @return a Fiber of binary
42
+ ##
43
+ def get(request_configuration=nil)
44
+ request_info = self.to_get_request_information(
45
+ request_configuration
46
+ )
47
+ error_mapping = Hash.new
48
+ error_mapping["422"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
49
+ return @request_adapter.send_async(request_info, Binary, error_mapping)
50
+ end
51
+ ##
52
+ ## write or overwrite a KV entry. Body: {"value": <any>, "type": "json"|"text"|"blob", "ttl_at"?: <iso8601>} Returns {key, value_type, size}. 413 on oversize.
53
+ ## @param body The request body
54
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
55
+ ## @return a Fiber of binary
56
+ ##
57
+ def put(body, request_configuration=nil)
58
+ raise StandardError, 'body cannot be null' if body.nil?
59
+ request_info = self.to_put_request_information(
60
+ body, request_configuration
61
+ )
62
+ error_mapping = Hash.new
63
+ error_mapping["422"] = lambda {|pn| GhostCrawl::Models::ProblemDetails.create_from_discriminator_value(pn) }
64
+ return @request_adapter.send_async(request_info, Binary, error_mapping)
65
+ end
66
+ ##
67
+ ## remove a KV entry. Returns {deleted: true}. 404 on miss).
68
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
69
+ ## @return a request_information
70
+ ##
71
+ def to_delete_request_information(request_configuration=nil)
72
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
73
+ unless request_configuration.nil?
74
+ request_info.add_headers_from_raw_object(request_configuration.headers)
75
+ request_info.add_request_options(request_configuration.options)
76
+ end
77
+ request_info.url_template = @url_template
78
+ request_info.path_parameters = @path_parameters
79
+ request_info.http_method = :DELETE
80
+ request_info.headers.try_add('Accept', 'application/json')
81
+ return request_info
82
+ end
83
+ ##
84
+ ## read a KV entry. Returns {key, value, value_type}. For blobs, returns bytes with application/octet-stream content-type. 404 on miss).
85
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
86
+ ## @return a request_information
87
+ ##
88
+ def to_get_request_information(request_configuration=nil)
89
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
90
+ unless request_configuration.nil?
91
+ request_info.add_headers_from_raw_object(request_configuration.headers)
92
+ request_info.add_request_options(request_configuration.options)
93
+ end
94
+ request_info.url_template = @url_template
95
+ request_info.path_parameters = @path_parameters
96
+ request_info.http_method = :GET
97
+ request_info.headers.try_add('Accept', 'application/json')
98
+ return request_info
99
+ end
100
+ ##
101
+ ## write or overwrite a KV entry. Body: {"value": <any>, "type": "json"|"text"|"blob", "ttl_at"?: <iso8601>} Returns {key, value_type, size}. 413 on oversize.
102
+ ## @param body The request body
103
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
104
+ ## @return a request_information
105
+ ##
106
+ def to_put_request_information(body, request_configuration=nil)
107
+ raise StandardError, 'body cannot be null' if body.nil?
108
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
109
+ unless request_configuration.nil?
110
+ request_info.add_headers_from_raw_object(request_configuration.headers)
111
+ request_info.add_request_options(request_configuration.options)
112
+ end
113
+ request_info.set_content_from_parsable(@request_adapter, 'application/json', body)
114
+ request_info.url_template = @url_template
115
+ request_info.path_parameters = @path_parameters
116
+ request_info.http_method = :PUT
117
+ request_info.headers.try_add('Accept', 'application/json')
118
+ return request_info
119
+ end
120
+ ##
121
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
122
+ ## @param raw_url The raw URL to use for the request builder.
123
+ ## @return a with_key_item_request_builder
124
+ ##
125
+ def with_url(raw_url)
126
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
127
+ return WithKeyItemRequestBuilder.new(raw_url, @request_adapter)
128
+ end
129
+ end
130
+ end
131
+ end
132
+ end
133
+ end
@@ -0,0 +1,68 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../../ghostcrawl'
3
+ require_relative '../../v1'
4
+ require_relative '../kv'
5
+ require_relative './item'
6
+
7
+ module GhostCrawl
8
+ module V1
9
+ module Kv
10
+ module Item
11
+ class WithKeyPutRequestBody
12
+ include MicrosoftKiotaAbstractions::AdditionalDataHolder, MicrosoftKiotaAbstractions::Parsable
13
+ ##
14
+ # Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
15
+ @additional_data
16
+ ##
17
+ ## Gets the AdditionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
18
+ ## @return a i_dictionary
19
+ ##
20
+ def additional_data
21
+ return @additional_data
22
+ end
23
+ ##
24
+ ## Sets the AdditionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
25
+ ## @param value Value to set for the AdditionalData property.
26
+ ## @return a void
27
+ ##
28
+ def additional_data=(value)
29
+ @additional_data = value
30
+ end
31
+ ##
32
+ ## Instantiates a new WithKeyPutRequestBody and sets the default values.
33
+ ## @return a void
34
+ ##
35
+ def initialize()
36
+ @additional_data = Hash.new
37
+ end
38
+ ##
39
+ ## Creates a new instance of the appropriate class based on discriminator value
40
+ ## @param parse_node The parse node to use to read the discriminator value and create the object
41
+ ## @return a with_key_put_request_body
42
+ ##
43
+ def self.create_from_discriminator_value(parse_node)
44
+ raise StandardError, 'parse_node cannot be null' if parse_node.nil?
45
+ return WithKeyPutRequestBody.new
46
+ end
47
+ ##
48
+ ## The deserialization information for the current model
49
+ ## @return a i_dictionary
50
+ ##
51
+ def get_field_deserializers()
52
+ return {
53
+ }
54
+ end
55
+ ##
56
+ ## Serializes information the current object
57
+ ## @param writer Serialization writer to use to serialize this model
58
+ ## @return a void
59
+ ##
60
+ def serialize(writer)
61
+ raise StandardError, 'writer cannot be null' if writer.nil?
62
+ writer.write_additional_data(@additional_data)
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
File without changes