feat: add setCookie functionality to component context #1438
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
closes #1437
🍪 Add setCookie functionality to component context
This PR adds the ability for components to set cookies via
context.setCookie(), mirroring the existingcontext.setHeader()functionality.✨ Features
context.setCookie(name, value, options?)for componentsres.cookie()🔧 Implementation Details
Core Changes
src/resources/index.ts: Added error message for invalid cookie parameterssrc/registry/routes/helpers/get-component.ts:GetComponentResultinterface withcookiesarraycontextObj.setCookie()functionsrc/registry/routes/component.ts: Added cookie application to HTTP responsesrc/registry/routes/components.ts: Added batch cookie support withsetCookies()helperTesting
test/fixtures/components/hello-world-custom-cookies/test/acceptance/registry.js📝 Usage Example
Components can now set cookies in their
server.js:This will result in the appropriate
Set-Cookieheaders being sent with the HTTP response.🔄 Compatibility
context.setHeader()res.cookie()method🧪 Testing
The implementation includes comprehensive tests covering:
All existing functionality remains unchanged and all tests pass.
📋 Checklist