Tanmoy Sarkar
84d69c46fd
feat(companion): Promote companions from STARTING to RUNNING after startsecs
...
Add promote_running to CompanionManager: scans STARTING companions and moves
any that have stayed alive at least their startsecs window to RUNNING, logging
the pid and returning the promoted ones. Companions that die inside the window
are left to reaping.
Add tests for promotion after the window, too-early no-op, and non-STARTING.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-09 17:52:25 +05:30
Tanmoy Sarkar
bd8a91f656
feat(companion): Reap exited companion processes
...
Add reap_processes to CompanionManager: drains waitpid(WNOHANG), matches each
dead pid back to its companion, and records the exit via _record_exit (signal
number or exit code, exited_at, exit_count) while freeing the pid. Returns the
reaped companions; the restart decision stays with the run loop.
Add tests for exit-code, signal, and no-children cases.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-09 17:49:27 +05:30
Tanmoy Sarkar
2bf7e1b1fb
feat(companion): Redirect companion stdout and stderr
...
Child calls _redirect_output after env setup: each configured log path is
opened append-mode and dup2'd onto fd 1/2. None/inherit keeps the inherited
fd; stderr stdout shares stdout's fd. Rotation stays external.
Add tests for inherit, append flags, file dup2, and stderr-to-stdout.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-09 17:30:18 +05:30
Tanmoy Sarkar
ea2748a209
feat(companion): Apply cwd and env in spawned companion child
...
Child runs _apply_environment before the target: os.chdir(cwd) then
os.environ.update(env).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-09 17:06:42 +05:30
Tanmoy Sarkar
5639d467f3
feat(companion): Add CompanionManager skeleton and single-companion spawn
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-09 16:57:18 +05:30
Tanmoy Sarkar
78d67197b6
feat(companion): Add CompanionProcess runtime state and status helpers
2026-06-09 16:34:02 +05:30
Tanmoy Sarkar
2241dd4031
feat(companion): Add states and CompanionConfig with config hash
2026-06-09 15:35:00 +05:30
Tanmoy Sarkar
3f479157d7
feat(companion): Add companion process config settings
2026-06-09 15:17:43 +05:30
Tanmoy Sarkar
6fd0c2b236
feat: Add plan for companion process manager
2026-06-09 14:25:28 +05:30
Ankush Menat
7dc4d184be
refactor: Simpler implementation
...
Just do multiple queues, nothing else.
2026-05-28 16:33:54 +05:30
Ankush Menat
ec6af68013
fix: Remove hardcoded paths for slow prediction
2026-05-28 16:01:02 +05:30
Ankush Menat
ee9bf1e950
feat: Adaptive queueing of slow/fast requests
2026-05-27 11:58:54 +05:30
benoitc
411986d619
fix doc
2024-08-10 22:34:28 +02:00
Benoit Chesneau
e75c3533e3
Merge pull request #3189 from pajod/patch-py36
...
chore: eat Python 2 leftovers
2024-08-10 10:40:40 +02:00
Benoit Chesneau
3acd9fbfd1
Merge pull request #2620 from talkerbox/improve-access-log-format-docs
...
Improve access-log-format documentation section
2024-08-10 09:56:56 +02:00
Benoit Chesneau
3f56d76548
Merge pull request #3192 from pajod/patch-allowed-script-name
...
22.0.0 regression: We need a better default treatment of SCRIPT_NAME
2024-08-09 09:05:57 +02:00
Paul J. Dorn
256d474a79
docs: revert duped directive
2024-08-09 00:28:08 +02:00
Paul J. Dorn
52538ca907
docs: recommend SCRIPT_NAME=/subfolder
2024-08-08 18:32:23 +02:00
Paul J. Dorn
687b78d20c
config defaults: PATH_NAME and ::1 for proxy
...
* PATH_NAME is used like SCRIPT_NAME: include both
* replicate changed forwarded-allow-ips default to proxy_allow_ips
2024-08-08 18:15:42 +02:00
Paul J. Dorn
3e042e8269
Configurable list of forwarder headers
2024-08-07 20:15:13 +02:00
Paul J. Dorn
01bcdb1d12
Exempt SCRIPT_NAME from newly introduced --header-map treatment
2024-08-07 20:10:47 +02:00
Paul J. Dorn
2bc931e7d9
whitespace handling in header field values
...
Strip whitespace also *after* header field value.
Simply refuse obsolete header folding (a default-off
option to revert is temporarily provided).
While we are at it, explicitly handle recently
introduced http error classes with intended status code.
2024-08-07 19:42:16 +02:00
Paul J. Dorn
6c3296e177
update docs
...
re-apply typo fix from 628a0bcb61ef3a211d67dfd68ad1ba161cccb3b8
reflect removal of setting from 555d2fa27f2d891f23bd03890e4a826b5018c6b4
2024-08-07 18:21:36 +02:00
Paul J. Dorn
e3562c94d3
doc: news for 2024
2024-08-07 18:21:35 +02:00
Benoit Chesneau
2c38b036a2
Update design.rst
...
make the asyncio docs more explicit.
YODO: revisit this documentation later to be more exhaustive
2024-08-07 09:12:44 +02:00
Benoit Chesneau
c5727ac92c
Merge pull request #3089 from pataquets/patch-1
...
news.rst: fix minor typo
2024-08-07 00:20:17 +02:00
Benoit Chesneau
9a96e75808
Merge pull request #3253 from pajod/patch-rfc9110-section5.5
...
Refuse requests with invalid and dangerous CR/LF/NUL in header field value, as demanded by rfc9110 section 5.5
2024-08-06 22:25:12 +02:00
Paul J. Dorn
70a1e437b5
forbid lone CR/LF and NUL in headers (docs)
2024-07-31 17:39:13 +02:00
Paul J. Dorn
7c3e9c9c2b
docs: clarify Makefile is generated
2024-07-31 04:18:20 +02:00
Paul J. Dorn
2669016abe
docs: https-capable sphinx homepage entry point
2024-07-31 04:18:20 +02:00
Paul J. Dorn
e3fa50d1c5
update docs
2024-07-31 01:21:01 +02:00
boxydog
0f20019113
Document server hooks in a custom application
2024-05-18 14:20:42 -05:00
Paul J. Dorn
4323027b1e
drop long-default - coding: utf-8
2024-04-22 03:33:14 +02:00
benoitc
f63d59e4d7
bump to 22.0
2024-04-17 00:44:14 +02:00
Eisuke Kawashima
628a0bcb61
chore: fix typos
2024-03-25 08:31:59 +09:00
Paul J. Dorn
f4703824c3
docs: promise 3.12 compat
2023-12-29 05:12:08 +01:00
Paul J. Dorn
09ee579f44
Merge #3083
2023-12-29 05:09:19 +01:00
Paul J. Dorn
b6c7414fd0
briefly document security fixes in 2023 news
...
further information to be published in security advisories, published out of tree on Github
2023-12-15 13:33:31 +01:00
sblondon
237f3e6f5c
Remove Python2 note
...
Python2 is not supported anymore.
2023-11-11 23:02:07 +01:00
Alfonso Montero López
a265b9cfe7
news.rst: fix minor typo
2023-11-08 19:54:55 +01:00
Ben Cail
afe0680212
Document Python 3.7 requirement
2023-10-23 16:58:12 -04:00
benoitc
ab9c8301cb
bump to 21.2.0
2023-07-19 13:31:10 +02:00
benoitc
4e12ebe334
bump to 21.1.0
2023-07-18 14:41:05 +02:00
benoitc
547f8561d9
bump 21.0.1: fix doc
2023-07-17 23:19:49 +02:00
benoitc
1dd24e6e3c
fix .readthedocs.yaml path
2023-07-17 23:08:54 +02:00
benoitc
b6eb01ba52
add readthedocs.yaml
2023-07-17 23:03:59 +02:00
benoitc
cac38b4286
bump doc version
2023-07-17 22:31:15 +02:00
benoitc
0304f006e6
add minitimal changelog
2023-07-17 21:36:31 +02:00
Benoit Chesneau
378f0d04ec
bump to 21.0.0
2023-07-10 22:09:23 +00:00
Tero Saarni
d8c3b1490e
Deprecate ssl_version option
...
This change defaults SSLContext to Python's ssl.create_default_context() and
marks ssl_version option as deprecated. The option value will be ignored and
warnign will be printed in stderr.
The ssl_version option was depending on old method of setting TLS min/max
version, which has not worked well anymore with modern Python versions.
2023-05-11 17:45:57 +03:00