Processing
Production Risk
Low. It serves as a helpful keep-alive signal for clients during long operations, preventing unnecessary timeouts.
This code indicates that the server has received and is processing the request, but no response is available yet. It is used to prevent the client from timing out while waiting for a long-running operation to complete.
- 1A client sends a request that is expected to take a significant amount of time, such as a complex database query or batch processing job.
- 2The server sends this interim response to assure the client that the request has not been lost or ignored.
- 3This is a WebDAV extension and is not part of the core HTTP standard.
A client submits a WebDAV request that involves manipulating a large number of files on the server.
PROPFIND /container/ HTTP/1.1 Host: example.com Depth: 1
expected output
HTTP/1.1 102 Processing
Fix
Keep the client connection alive during long WebDAV operations
// Server-side: Node.js / Express — send 102 to prevent client timeout
app.post('/dav/batch', async (req, res) => {
// Send 102 immediately to prevent the client timing out
res.writeProcessing(); // writes "HTTP/1.1 102 Processing
"
// Perform the long-running WebDAV operation
const result = await performLongOperation(req.body);
// Send the final response
res.status(207).json(result);
});Why this works
HTTP/1.1 clients may time out if no bytes arrive for an extended period. Sending '102 Processing' as an interim response resets the client's inactivity timer without committing to a final status. This is a WebDAV-specific extension (RFC 2518) — only use it for WebDAV endpoints or clients that explicitly support it.
Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev