Você não menciona quais são seus clientes, no entanto, isso soa como algo que você alcançaria com um cabeçalho esperado. Em essência, o cliente define um cabeçalho "Expect" com uma expectativa "100-continue". Em seguida, o cliente aguarda uma resposta de 100 Continue do servidor, antes de enviar o corpo da solicitação.
Se o servidor não quiser receber o corpo, ele poderá responder com um status final e o cliente não enviará o corpo.
Este processo é definido em RFC2616, seção 8.2.3