Timeout or 5xx failure on AngularJS $http POST/PUT/PATCH can duplicate writes on retry
Context AngularJS $http provides no built-in retry mechanism, so applications that retry failed POST, PUT, or PATCH requests must implement custom logic. Because these methods are not inherently idempotent, a client-side timeout or 5xx response does not guarantee the server aborted the original write. A subsequent retry can therefore create duplicate records