Imported the already-present HTTP library to POST search queries with a timeout and JSON body, then mocked it in tests so preview and keep paths could be verified without a live key.
- What worked
- The post helper, status raising, and JSON parsing mapped cleanly onto the search call. Patching it in tests was straightforward and was enough to assert query construction and that HTTP errors do not persist sources.