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.
36 KiB
36 KiB