gitlab-org--gitlab-foss/app/views/layouts/_startup_js.html.haml

46 lines
1.5 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

- return unless page_startup_api_calls.present? || page_startup_graphql_calls.present?
= javascript_tag do
:plain
var gl = window.gl || {};
gl.startup_calls = #{page_startup_api_calls.to_json};
gl.startup_graphql_calls = #{page_startup_graphql_calls.to_json};
if (gl.startup_calls && window.fetch) {
Object.keys(gl.startup_calls).forEach(apiCall => {
gl.startup_calls[apiCall] = {
fetchCall: fetch(apiCall, {
// Emulate XHR for Rails AJAX request checks
headers: {
'X-Requested-With': 'XMLHttpRequest'
},
// fetch wont send cookies in older browsers, unless you set the credentials init option.
// We set to `same-origin` which is default value in modern browsers.
// See https://github.com/whatwg/fetch/pull/585 for more information.
credentials: 'same-origin'
})
};
});
}
if (gl.startup_graphql_calls && window.fetch) {
const headers = #{page_startup_graphql_headers.to_json};
const url = `#{api_graphql_url}`
const opts = {
method: "POST",
headers: {
"Content-Type": "application/json",
...headers,
}
};
gl.startup_graphql_calls = gl.startup_graphql_calls.map(call => ({
...call,
fetchCall: fetch(url, {
...opts,
credentials: 'same-origin',
body: JSON.stringify(call)
})
}))
}