Skip to content

Commit 8c00535

Browse files
authored
fix(Request): support custom "credentials" value (#21)
1 parent f715b35 commit 8c00535

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

packages/fetch/src/request.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ const isRequest = object => {
3838
* @property {string} method
3939
* @property {RequestRedirect} redirect
4040
* @property {globalThis.Headers} headers
41+
* @property {RequestCredentials} credentials
4142
* @property {URL} parsedURL
4243
* @property {AbortSignal|null} signal
4344
*
@@ -135,6 +136,7 @@ export default class Request extends Body {
135136
method,
136137
redirect: init.redirect || input.redirect || 'follow',
137138
headers,
139+
credentials: init.credentials || 'same-origin',
138140
parsedURL,
139141
signal: signal || null
140142
};
@@ -169,7 +171,7 @@ export default class Request extends Body {
169171
*/
170172

171173
get credentials() {
172-
return "same-origin"
174+
return this[INTERNALS].credentials
173175
}
174176

175177
/**

packages/fetch/test/request.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,16 @@ describe('Request', () => {
133133
expect(clonedRequest.signal.aborted).to.equal(true);
134134
});
135135

136+
it('should default to "same-origin" as credentials', () => {
137+
const request = new Request(base)
138+
expect(request.credentials).to.equal('same-origin');
139+
})
140+
141+
it('should respect custom credentials value', () => {
142+
expect(new Request(base, { credentials: 'omit'})).to.have.property('credentials', 'omit');
143+
expect(new Request(base, { credentials: 'include'})).to.have.property('credentials', 'include');
144+
})
145+
136146
it('should throw error with GET/HEAD requests with body', () => {
137147
expect(() => new Request(base, {body: ''}))
138148
.to.throw(TypeError);

0 commit comments

Comments
 (0)