Skip to content

feat: handle bad requests#214

Merged
kptdobe merged 11 commits into
mainfrom
badreq3
Dec 4, 2025
Merged

feat: handle bad requests#214
kptdobe merged 11 commits into
mainfrom
badreq3

Conversation

@kptdobe

@kptdobe kptdobe commented Dec 4, 2025

Copy link
Copy Markdown
Contributor

Follow up for #204 and post incident revert #212

Wrote unit and integration tests against current main branch, especially in the area that caused the incident (/config/org, /list/org and /logout).

@kptdobe
kptdobe requested a review from tripodsan December 4, 2025 13:24
@codecov

codecov Bot commented Dec 4, 2025

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@kptdobe
kptdobe merged commit be0dc49 into main Dec 4, 2025
5 checks passed
@kptdobe
kptdobe deleted the badreq3 branch December 4, 2025 13:55
adobe-bot pushed a commit that referenced this pull request Dec 4, 2025
# 1.0.0 (2025-12-04)

### Bug Fixes

* add IMS offline token validation ([#109](#109)) ([ba7f961](ba7f961))
* add more tests for getObject ([#148](#148)) ([7055d3c](7055d3c))
* add semantic release ([#213](#213)) ([86b608d](86b608d))
* build ([51c6255](51c6255))
* consistently use 'syncadmin' (no intercaps) ([#198](#198)) ([3197624](3197624))
* CopySource needs to be encoded ([#210](#210)) ([1ab3fc8](1ab3fc8))
* do not respond a 404 on error ([#184](#184)) ([b1d10c8](b1d10c8))
* error when copying a file that exists ([#185](#185)) ([7215387](7215387))
* get handler returns undefined ([#168](#168)) ([aa55ce5](aa55ce5))
* last modified header for source ([#145](#145)) ([edf1de1](edf1de1))
* non-https links in docs ([#190](#190)) ([661db82](661db82))
* only invalidate collab for html documents ([#167](#167)) ([71e6a1c](71e6a1c)), closes [#166](#166)
* persist creds ([d5dfed1](d5dfed1))
* pin s3 client version due to problems with DOMParser ([#201](#201)) ([1f93628](1f93628))
* preserve content type when copying ([#182](#182)) ([4e83525](4e83525))
* put/post to source responds with hlx.page / hlx.live ([#209](#209)) ([0415ef4](0415ef4))
* versioning timestamp for version and document itself ([#144](#144)) ([a384662](a384662))
* **versionsource:** "delegate" permission check to api ([#179](#179)) ([04b17f2](04b17f2))
* when catching exceptions don't rely on $metadata being set ([#170](#170)) ([5e121f0](5e121f0)), closes [#169](#169)

### Features

* add a restore point if body is empty ([#173](#173)) ([65cbf32](65cbf32))
* add HTTP conditional request support (If-Match, If-None-Match) ([#187](#187)) ([190afd8](190afd8))
* do not create a version for binaries ([#211](#211)) ([92ea28a](92ea28a))
* handle bad requests ([#204](#204)) ([5ae63c5](5ae63c5))
* handle bad requests ([#214](#214)) ([be0dc49](be0dc49)), closes [#204](#204) [#212](#212)
* no version for binaries ([dd98406](dd98406))
* preserve content type in versions ([#177](#177)) ([5182cd5](5182cd5))
* return last modified for source based on timestamp ([#142](#142)) ([2b3454b](2b3454b))
* send shared secret to collab ([#202](#202)) ([6636423](6636423))

### Reverts

* Revert "feat: handle bad requests ([#204](#204))" ([#212](#212)) ([306fcb5](306fcb5))
* Revert "Fine grained access control ([#108](#108))" ([#118](#118)) ([68918ca](68918ca))
* Revert "fix: last modified header for source ([#145](#145))" ([#147](#147)) ([20b1a61](20b1a61))
* Revert "fix: versioning timestamp for version and document itself ([#144](#144))" ([#146](#146)) ([f626da7](f626da7))
* Revert "Revert "fix: last modified header for source"" ([#149](#149)) ([767629c](767629c)), closes [#145](#145) [#147](#147)
adobe-bot pushed a commit that referenced this pull request Dec 4, 2025
# 1.0.0 (2025-12-04)

### Bug Fixes

* add IMS offline token validation ([#109](#109)) ([ba7f961](ba7f961))
* add more tests for getObject ([#148](#148)) ([7055d3c](7055d3c))
* add semantic release ([#213](#213)) ([86b608d](86b608d))
* build ([51c6255](51c6255))
* consistently use 'syncadmin' (no intercaps) ([#198](#198)) ([3197624](3197624))
* CopySource needs to be encoded ([#210](#210)) ([1ab3fc8](1ab3fc8))
* do not respond a 404 on error ([#184](#184)) ([b1d10c8](b1d10c8))
* error when copying a file that exists ([#185](#185)) ([7215387](7215387))
* get handler returns undefined ([#168](#168)) ([aa55ce5](aa55ce5))
* last modified header for source ([#145](#145)) ([edf1de1](edf1de1))
* non-https links in docs ([#190](#190)) ([661db82](661db82))
* only invalidate collab for html documents ([#167](#167)) ([71e6a1c](71e6a1c)), closes [#166](#166)
* persist creds ([d5dfed1](d5dfed1))
* pin s3 client version due to problems with DOMParser ([#201](#201)) ([1f93628](1f93628))
* preserve content type when copying ([#182](#182)) ([4e83525](4e83525))
* put/post to source responds with hlx.page / hlx.live ([#209](#209)) ([0415ef4](0415ef4))
* versioning timestamp for version and document itself ([#144](#144)) ([a384662](a384662))
* **versionsource:** "delegate" permission check to api ([#179](#179)) ([04b17f2](04b17f2))
* when catching exceptions don't rely on $metadata being set ([#170](#170)) ([5e121f0](5e121f0)), closes [#169](#169)

### Features

* add a restore point if body is empty ([#173](#173)) ([65cbf32](65cbf32))
* add HTTP conditional request support (If-Match, If-None-Match) ([#187](#187)) ([190afd8](190afd8))
* do not create a version for binaries ([#211](#211)) ([92ea28a](92ea28a))
* handle bad requests ([#204](#204)) ([5ae63c5](5ae63c5))
* handle bad requests ([#214](#214)) ([be0dc49](be0dc49)), closes [#204](#204) [#212](#212)
* no version for binaries ([dd98406](dd98406))
* preserve content type in versions ([#177](#177)) ([5182cd5](5182cd5))
* return last modified for source based on timestamp ([#142](#142)) ([2b3454b](2b3454b))
* send shared secret to collab ([#202](#202)) ([6636423](6636423))

### Reverts

* Revert "feat: handle bad requests ([#204](#204))" ([#212](#212)) ([306fcb5](306fcb5))
* Revert "Fine grained access control ([#108](#108))" ([#118](#118)) ([68918ca](68918ca))
* Revert "fix: last modified header for source ([#145](#145))" ([#147](#147)) ([20b1a61](20b1a61))
* Revert "fix: versioning timestamp for version and document itself ([#144](#144))" ([#146](#146)) ([f626da7](f626da7))
* Revert "Revert "fix: last modified header for source"" ([#149](#149)) ([767629c](767629c)), closes [#145](#145) [#147](#147)
adobe-bot pushed a commit that referenced this pull request Dec 4, 2025
# 1.0.0 (2025-12-04)

### Bug Fixes

* add IMS offline token validation ([#109](#109)) ([ba7f961](ba7f961))
* add more tests for getObject ([#148](#148)) ([7055d3c](7055d3c))
* add semantic release ([#213](#213)) ([86b608d](86b608d))
* build ([51c6255](51c6255))
* consistently use 'syncadmin' (no intercaps) ([#198](#198)) ([3197624](3197624))
* CopySource needs to be encoded ([#210](#210)) ([1ab3fc8](1ab3fc8))
* do not respond a 404 on error ([#184](#184)) ([b1d10c8](b1d10c8))
* error when copying a file that exists ([#185](#185)) ([7215387](7215387))
* get handler returns undefined ([#168](#168)) ([aa55ce5](aa55ce5))
* last modified header for source ([#145](#145)) ([edf1de1](edf1de1))
* non-https links in docs ([#190](#190)) ([661db82](661db82))
* only invalidate collab for html documents ([#167](#167)) ([71e6a1c](71e6a1c)), closes [#166](#166)
* persist creds ([d5dfed1](d5dfed1))
* pin s3 client version due to problems with DOMParser ([#201](#201)) ([1f93628](1f93628))
* preserve content type when copying ([#182](#182)) ([4e83525](4e83525))
* put/post to source responds with hlx.page / hlx.live ([#209](#209)) ([0415ef4](0415ef4))
* trigger release ([3c35bb4](3c35bb4))
* versioning timestamp for version and document itself ([#144](#144)) ([a384662](a384662))
* **versionsource:** "delegate" permission check to api ([#179](#179)) ([04b17f2](04b17f2))
* when catching exceptions don't rely on $metadata being set ([#170](#170)) ([5e121f0](5e121f0)), closes [#169](#169)

### Features

* add a restore point if body is empty ([#173](#173)) ([65cbf32](65cbf32))
* add HTTP conditional request support (If-Match, If-None-Match) ([#187](#187)) ([190afd8](190afd8))
* do not create a version for binaries ([#211](#211)) ([92ea28a](92ea28a))
* handle bad requests ([#204](#204)) ([5ae63c5](5ae63c5))
* handle bad requests ([#214](#214)) ([be0dc49](be0dc49)), closes [#204](#204) [#212](#212)
* no version for binaries ([dd98406](dd98406))
* preserve content type in versions ([#177](#177)) ([5182cd5](5182cd5))
* return last modified for source based on timestamp ([#142](#142)) ([2b3454b](2b3454b))
* send shared secret to collab ([#202](#202)) ([6636423](6636423))

### Reverts

* Revert "feat: handle bad requests ([#204](#204))" ([#212](#212)) ([306fcb5](306fcb5))
* Revert "Fine grained access control ([#108](#108))" ([#118](#118)) ([68918ca](68918ca))
* Revert "fix: last modified header for source ([#145](#145))" ([#147](#147)) ([20b1a61](20b1a61))
* Revert "fix: versioning timestamp for version and document itself ([#144](#144))" ([#146](#146)) ([f626da7](f626da7))
* Revert "Revert "fix: last modified header for source"" ([#149](#149)) ([767629c](767629c)), closes [#145](#145) [#147](#147)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants