mirror of
https://github.com/pikami/cosmium.git
synced 2026-06-09 22:07:41 +01:00
Expose precondition error code header
Co-authored-by: Pijus Kamandulis <pikami@users.noreply.github.com>
This commit is contained in:
@@ -105,6 +105,7 @@ func (h *Handlers) ReplaceDocument(c *gin.Context) {
|
||||
|
||||
if ifMatch := c.GetHeader(headers.IfMatch); ifMatch != "" {
|
||||
if existingDocument["_etag"] != ifMatch {
|
||||
c.Header(headers.ErrorCode, "PreconditionFailed")
|
||||
c.JSON(http.StatusPreconditionFailed, constants.PreconditionFailedResponse)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ const (
|
||||
AIM = "A-Im"
|
||||
Authorization = "authorization"
|
||||
CosmosLsn = "x-ms-cosmos-llsn"
|
||||
ErrorCode = "x-ms-error-code"
|
||||
ETag = "etag"
|
||||
GlobalCommittedLsn = "x-ms-global-committed-lsn"
|
||||
IfMatch = "if-match"
|
||||
|
||||
@@ -403,7 +403,7 @@ func Test_Documents(t *testing.T) {
|
||||
var respErr *azcore.ResponseError
|
||||
if errors.As(err, &respErr) {
|
||||
assert.Equal(t, http.StatusPreconditionFailed, respErr.StatusCode)
|
||||
assert.Equal(t, "PreconditionFailed", respErr.ErrorCode)
|
||||
assert.Equal(t, "PreconditionFailed", respErr.RawResponse.Header.Get("x-ms-error-code"))
|
||||
|
||||
responseBody, readErr := io.ReadAll(respErr.RawResponse.Body)
|
||||
assert.Nil(t, readErr)
|
||||
|
||||
Reference in New Issue
Block a user