Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
open-source
cwclientlibjs
Commits
46525c8b3a3f
Commit
84ac7b0b
authored
Oct 08, 2021
by
Elouan Martinet
Browse files
wip
parent
9ea81df0eb5d
Pipeline
#86844
failed with stages
in 3 minutes and 16 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
src/client.ts
View file @
46525c8b
...
...
@@ -29,13 +29,13 @@ function getCookieValueFromString(cookiesString: string, name: string) {
return
getCookieValueFromArray
(
cookies
,
name
);
}
function
hasCookiesSupport
():
boolean
{
return
typeof
document
!==
'
undefined
'
&&
typeof
document
.
cookie
!==
'
undefined
'
}
function
getCookie
(
name
:
string
)
{
// When runnnig in node, document is not defined and we can't use cookies
if
(
typeof
document
!==
'
undefined
'
&&
document
.
cookie
&&
document
.
cookie
!==
''
)
{
if
(
document
.
cookie
!==
''
)
{
return
getCookieValueFromString
(
document
.
cookie
,
name
);
}
return
null
;
...
...
@@ -105,14 +105,25 @@ function doRequestFetch(
if
(
!
uri
.
startsWith
(
'
http
'
))
{
uri
=
'
http://
'
+
uri
;
}
if
(
method
!==
'
GET
'
&&
!
allowsCrossOrigin
)
{
if
(
csrfToken
===
null
)
{
csrfToken
=
getCookie
(
'
csrf_token
'
);
if
(
method
!==
'
GET
'
)
{
if
(
hasCookiesSupport
())
{
if
(
!
allowsCrossOrigin
)
{
if
(
csrfToken
===
null
)
{
csrfToken
=
getCookie
(
'
csrf_token
'
);
}
}
else
{
// TODO implement CSRF for cross origin in a browser
}
}
if
(
csrfToken
!==
null
)
{
headers
.
append
(
'
X-CSRF-Token
'
,
csrfToken
);
else
{
// TODO request base url, grab token, add csrf_token to cookie jar
// FIXME what about requestFetchWithCookies and cookie jar???
// TODO Origin header
}
}
if
(
csrfToken
!==
null
)
{
headers
.
append
(
'
X-CSRF-Token
'
,
csrfToken
);
}
return
fetch
(
uri
,
{
method
:
method
,
body
:
content
,
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment