Teknium
7663c98c1e
fix: make safe_url_for_log public, add SSRF redirect guards to base.py cache helpers
...
Follow-up to Dusk1e's PR #7120 (Slack send_image redirect guard):
- Rename _safe_url_for_log -> safe_url_for_log (drop underscore) since
it is now imported cross-module by the Slack adapter
- Add _ssrf_redirect_guard httpx event hook to cache_image_from_url()
and cache_audio_from_url() in base.py — same pattern as vision_tools
and the Slack adapter fix
- Update url_safety.py docstring to reflect broader coverage
- Add regression tests for image/audio redirect blocking + safe passthrough
2026-04-10 05:04:28 -07:00
..
2026-02-26 03:20:08 +03:00
2026-03-26 13:19:43 -07:00
2026-03-29 21:29:13 -07:00
2026-04-05 12:31:10 -07:00
2026-04-07 03:28:44 -07:00
2026-04-10 04:56:35 -07:00
2026-04-10 03:44:43 -07:00
2026-04-01 12:05:02 -07:00
2026-04-10 03:52:00 -07:00
2026-03-17 03:52:15 -07:00
2026-04-10 03:52:00 -07:00
2026-04-10 03:21:45 -07:00
2026-04-06 13:20:01 -07:00
2026-04-10 03:52:00 -07:00
2026-03-13 23:59:18 -07:00
2026-04-05 19:46:58 -07:00
2026-04-10 03:44:43 -07:00
2026-03-17 03:04:58 -07:00
2026-03-09 02:20:57 -07:00
2026-04-09 23:25:27 -07:00
2026-04-09 14:19:06 -07:00
2026-04-09 02:26:33 -07:00
2026-04-09 23:25:27 -07:00
2026-03-14 09:32:05 -07:00
2026-03-13 08:52:54 -07:00
2026-03-14 14:27:21 +03:00
2026-04-10 03:52:00 -07:00
2026-04-08 17:08:40 -07:00
2026-04-03 10:24:07 -07:00
2026-04-09 23:25:27 -07:00
2026-03-23 06:50:09 -07:00
2026-03-17 02:26:34 -07:00
2026-04-03 18:20:50 -07:00
2026-04-03 13:16:26 -07:00
2026-03-29 15:38:32 -07:00
2026-03-17 01:47:34 -07:00
2026-04-07 22:45:14 -07:00
2026-04-06 16:54:16 -07:00
2026-04-03 13:10:11 -07:00
2026-04-08 20:01:06 -07:00
2026-03-26 14:33:48 -07:00
2026-03-13 07:40:38 -07:00
2026-03-29 20:05:59 -07:00
2026-04-10 03:52:00 -07:00
2026-03-15 03:50:45 -07:00
2026-04-09 23:25:27 -07:00
2026-04-07 09:58:45 -07:00
2026-04-10 03:52:00 -07:00
2026-04-07 17:28:37 -07:00
2026-04-10 05:04:28 -07:00
2026-02-28 03:38:27 -05:00
2026-03-11 09:15:34 +01:00
2026-04-10 03:07:00 -07:00
2026-04-10 02:58:42 -07:00
2026-03-05 18:39:37 -08:00
2026-04-10 03:44:43 -07:00
2026-03-14 21:28:51 -07:00
2026-04-10 05:04:28 -07:00
2026-04-07 09:58:45 -07:00
2026-03-22 04:56:13 -07:00
2026-04-08 03:36:44 -07:00
2026-04-06 16:49:42 -07:00
2026-03-14 21:19:22 -07:00
2026-03-10 23:34:52 -07:00
2026-04-10 03:52:00 -07:00
2026-03-28 14:25:12 -07:00
2026-04-10 03:52:00 -07:00
2026-03-27 04:03:13 -07:00
2026-04-04 19:05:34 -07:00
2026-04-08 04:27:34 -07:00
2026-04-10 03:01:59 -07:00
2026-03-15 06:57:00 -07:00
2026-03-30 19:17:07 -07:00
2026-03-26 19:27:58 -07:00
2026-04-06 13:20:01 -07:00
2026-04-07 09:58:45 -07:00
2026-03-22 09:33:39 -07:00
2026-04-10 03:44:43 -07:00
2026-04-08 17:39:45 -07:00
2026-04-07 11:12:08 -07:00
2026-04-09 14:07:32 -07:00
2026-04-10 05:04:28 -07:00
2026-03-17 03:14:53 -07:00
2026-03-27 11:33:19 -07:00
2026-03-15 23:04:34 -07:00
2026-04-07 17:27:09 -07:00
2026-04-10 03:52:00 -07:00
2026-04-02 20:54:27 -07:00
2026-03-01 05:28:12 -08:00
2026-04-10 03:52:00 -07:00
2026-04-10 03:27:30 -07:00
2026-04-07 17:19:07 -07:00
2026-04-07 14:08:59 -07:00
2026-04-07 17:19:07 -07:00
2026-04-03 13:16:26 -07:00
2026-03-27 04:03:13 -07:00
2026-03-29 21:53:59 -07:00
2026-03-27 04:03:13 -07:00
2026-03-28 14:23:27 -07:00
2026-03-15 03:50:45 -07:00
2026-04-10 03:52:00 -07:00
2026-03-27 04:03:13 -07:00
2026-03-17 02:49:57 -07:00
2026-04-05 11:59:28 -07:00
2026-04-09 23:25:27 -07:00
2026-03-14 14:27:20 +03:00
2026-03-04 21:34:40 +03:00
2026-03-31 10:42:03 -07:00
2026-04-05 11:59:28 -07:00
2026-04-05 00:28:58 -07:00
2026-04-05 00:28:58 -07:00
2026-04-10 02:33:01 -07:00
2026-03-26 14:41:04 -07:00
2026-04-03 10:24:07 -07:00
2026-04-07 17:27:09 -07:00
2026-03-28 14:33:35 -07:00
2026-04-07 17:27:09 -07:00
2026-04-09 23:25:27 -07:00
2026-03-29 16:25:20 -07:00
2026-04-03 01:16:39 -07:00
2026-03-17 10:44:37 -07:00
2026-04-05 11:07:47 -07:00
2026-04-10 03:38:44 -07:00