diff options
author | dormando <dormando@rydia.net> | 2023-03-09 21:42:42 -0800 |
---|---|---|
committer | dormando <dormando@rydia.net> | 2023-03-26 16:48:37 -0700 |
commit | 6d767eb78ae256375cfe23a0a91ea6e12e046d6b (patch) | |
tree | 4af8645e47c16e718a727969590041d17c0e6762 /proxy.h | |
parent | 5910b652428ac96dc6d9917d4bc73d8d400ab0f3 (diff) | |
download | memcached-6d767eb78ae256375cfe23a0a91ea6e12e046d6b.tar.gz |
proxy: overhaul backend error handling
Cleans up logic around response handling in general. Allows returning
server-sent error messages upstream for handling.
In general SERVER_ERROR means we can keep the connection to the backend.
The rest of the errors are protocol errors, and while some are perfectly
safe to whitelist, clients should not be causing those sorts of errors
and we should cycle the backend regardless.
Diffstat (limited to 'proxy.h')
-rw-r--r-- | proxy.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -251,6 +251,7 @@ enum mcp_backend_states { mcp_backend_read_end, // looking for an "END" marker for GET mcp_backend_want_read, // read more data to complete command mcp_backend_next, // advance to the next IO + mcp_backend_next_close, // complete current request, then close socket }; typedef struct mcp_backend_wrap_s mcp_backend_wrap_t; |