Serf Error Codes |
October 21st, 2015 |
| pagespeed, tech |
Serf status 120171(APR does not understand this error code)The serf documentation is limited, however, so it's hard to look these up. So here's a reference, from
serf.h in serf 1.3.8:
| code | meaning |
|---|---|
| 120101 | This code is for when this is the last response on this connection: i.e. do not send any more requests on this connection or expect any more responses. |
| 120102 | This code is for when the connection terminated before the request could be processed on the other side. |
| 120103 |
This code is for when the connection is blocked—we can
not proceed until something happens - generally due to SSL
negotiation-like behavior where a write() is
blocked until a read() is processed.
|
| 120104 | This code is for when something went wrong during deflating compressed data e.g. a CRC error. |
| 120105 | This code is for when a response received from a http server is not in http-compliant syntax. |
| 120106 | The server sent less data than what was announced. |
| 120107 | The proxy server returned an error while setting up the SSL tunnel. |
| 120108 | The server unexpectedly closed the connection prematurely. |
| 120170 | SSL certificates related errors. |
| 120171 | SSL communications related errors. |
| 120190 | General authentication related errors. |
| 120191 | None of the available authentication mechanisms for the request are supported. |
| 120192 | Authentication was requested by the server but the header lacked some attribute. |
| 120193 | Authentication handler initialization related errors. |
| 120199 | Error code reserved for use in the test suite. |
Why are these hard to look up in the code? They're all defined with macros:
#define SERF_ERROR_RANGE 100
#define SERF_ERROR_START \
(APR_OS_START_USERERR + \
SERF_ERROR_RANGE)
#define SERF_ERROR_CLOSING \
(SERF_ERROR_START + 1)
#define SERF_ERROR_REQUEST_LOST \
(SERF_ERROR_START + 2)
...
This means that a search for [120108] or something won't turn anything
up, which is annoying. This also means that on some platforms serf
error codes can have a different prefix. In PageSpeed, though, this
is all determined at compile time because it includes its dependencies,
so it should be the same everywhere.
Comment via: google plus, substack