Artem Boldariev
2c76717881
Add PROXYv2 header utilities
...
This commit adds a set of utilities for dealing with PROXYv2 headers,
both parsing and generating them. The code has no dependencies from
the networking code and is (for the most part) a "separate library".
The part responsible for handling incoming PROXYv2 headers is
structured as a state machine which accepts data as input and calls a
callback to notify the upper-level code about the data processing
status.
Such a design, among other things, makes it easy to write a thorough
unit test suite for that, as there are fewer dependencies as well as
will not stand in the way of any changes in the networking code.
2023-12-06 15:15:24 +02:00
..
2023-12-06 15:15:24 +02:00
2023-11-21 14:48:43 +11:00
2023-08-21 18:39:53 +02:00
2022-09-12 12:18:57 +01:00
2023-03-29 10:47:53 +00:00
2023-05-12 14:16:25 +02:00
2023-07-28 08:59:08 +02:00
2023-03-29 10:47:53 +00:00
2023-03-08 22:40:03 +00:00
2022-03-25 08:33:43 +01:00
2023-08-31 22:08:35 +02:00
2022-10-17 11:58:26 +01:00
2022-01-11 09:05:02 +01:00
2022-01-11 09:05:02 +01:00
2023-02-15 16:44:47 +00:00
2022-09-26 15:13:11 +02:00
2023-06-14 13:12:45 +01:00
2022-01-11 09:05:02 +01:00
2022-01-11 09:05:02 +01:00
2023-02-15 16:44:47 +00:00
2023-02-15 16:44:47 +00:00
2023-04-03 12:05:28 +10:00
2023-02-21 13:12:26 +00:00
2023-09-12 16:17:06 +02:00
2023-11-14 08:56:41 +00:00
2023-08-31 22:08:35 +02:00
2022-09-12 12:18:57 +01:00
2023-08-31 22:08:35 +02:00
2023-09-01 12:01:19 +10:00
2023-08-31 22:08:35 +02:00
2023-09-22 08:29:17 +02:00
2023-02-15 16:44:47 +00:00
2023-09-01 12:01:20 +10:00
2023-09-05 09:39:41 +02:00
2023-05-12 14:16:25 +02:00
2023-08-21 18:39:53 +02:00
2023-02-15 16:44:47 +00:00
2023-09-12 16:17:06 +02:00
2023-08-31 22:08:35 +02:00
2023-05-12 20:48:31 +01:00
2023-08-31 22:08:35 +02:00
2023-12-06 15:15:24 +02:00
2023-02-16 18:35:32 +01:00
2023-09-06 00:28:56 +00:00
2022-01-11 09:05:02 +01:00
2023-11-29 14:16:20 +01:00
2022-01-11 09:05:02 +01:00
2022-07-13 13:19:32 +02:00
2023-02-15 16:44:47 +00:00
2022-01-11 09:05:02 +01:00
2023-09-19 18:51:35 +02:00
2023-10-17 17:47:46 +02:00
2022-01-11 09:05:02 +01:00
2022-09-26 15:13:11 +02:00
2022-05-23 18:25:18 +03:00
2022-05-23 18:25:18 +03:00
2022-01-11 09:05:02 +01:00
2023-03-31 12:52:59 +00:00
2022-01-11 09:05:02 +01:00
2022-11-29 08:54:34 +01:00
2022-10-14 11:26:54 +02:00
2022-10-05 16:44:05 +02:00
2023-08-21 18:39:53 +02:00
2023-12-06 15:15:24 +02:00
2023-07-28 08:59:08 +02:00
2023-10-13 14:44:40 +02:00
2023-04-27 12:38:53 +02:00
2023-09-24 10:08:56 +02:00
2023-02-15 16:44:47 +00:00
2022-01-11 09:05:02 +01:00
2023-09-07 19:46:19 +02:00
2023-08-21 18:39:53 +02:00
2022-01-11 09:05:02 +01:00
2022-01-11 09:05:02 +01:00
2023-03-31 09:52:54 +00:00
2023-09-19 19:56:33 +02:00
2023-08-31 22:08:35 +02:00
2023-08-15 12:21:41 +02:00
2023-03-31 13:16:28 +02:00
2023-02-15 16:44:09 +00:00
2023-08-31 22:08:35 +02:00
2022-01-11 09:05:02 +01:00
2022-05-28 14:53:02 -07:00
2023-07-28 08:59:08 +02:00
2023-09-16 07:32:17 +02:00
2023-06-27 12:38:09 +02:00
2023-02-16 18:35:32 +01:00
2023-10-19 12:54:40 +02:00
2023-04-03 10:25:56 +00:00
2023-10-17 17:47:46 +02:00
2022-11-29 08:54:34 +01:00
2023-06-27 12:38:09 +02:00
2023-04-27 12:38:53 +02:00
2022-09-27 17:53:04 +02:00