Skip to content

Commit

Permalink
Merge pull request #6380 from leonardehrenfried/graphiql-headers
Browse files Browse the repository at this point in the history
Add HTTP headers to GraphiQL, upgrade version
  • Loading branch information
leonardehrenfried authored Jan 15, 2025
2 parents a5e829d + ed16268 commit ce6fc7a
Showing 1 changed file with 18 additions and 8 deletions.
26 changes: 18 additions & 8 deletions application/src/client/graphiql/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,14 @@
copy them directly into your environment, or perhaps include them in your
favored resource bundler.
-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/graphiql@3.0.4/graphiql.min.css" integrity="sha256-wTzfn13a+pLMB5rMeysPPR1hO7x0SwSeQI+cnw7VdbE=" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/graphiql@3.8.3/graphiql.min.css" integrity="sha256-sYaCR/jgUCzYaeWB9fPLVbM0hi5/UbHWy6zhEFm5rcI=" crossorigin="anonymous">
<title>OTP GraphQL Explorer</title>
</head>

<body>
<div id="graphiql">Loading...</div>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/graphiql.min.js" integrity="sha256-t0BNtgZ2L82dpHhlgKJl4yJ1tbQxcp1N5NkEjR82A7E=" crossorigin="anonymous"></script>

<script src="https://cdn.jsdelivr.net/npm/[email protected]/graphiql.min.js" integrity="sha256-IvqrlAZ7aV5feVlhn75obrzIlVACoMl9mGvLukrUvCw=" crossorigin="anonymous"></script>

<script>
const gtfsExampleQuery = `
Expand Down Expand Up @@ -131,6 +132,11 @@
updateURL();
}

function onEditHeaders(headers) {
parameters.headers = headers;
updateURL();
}

function updateURL() {
if(parameters["query"] !== gtfsExampleQuery && parameters["query"] !== transmodelExampleQuery) {

Expand Down Expand Up @@ -168,16 +174,18 @@
window.location.reload();
};

function graphQLFetcher(graphQLParams) {
function graphQLFetcher(query, { headers }) {
const defaultHeaders = {
Accept: 'application/json',
'Content-Type': 'application/json',
}
const mergedHeaders = Object.assign({}, defaultHeaders, headers);
return fetch(
urls[apiFlavor],
{
method: 'post',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify(graphQLParams),
headers: mergedHeaders,
body: JSON.stringify(query),
credentials: 'omit',
},
).then(function (response) {
Expand All @@ -198,10 +206,12 @@
defaultVariableEditorOpen: true,
query: parameters.query || defaultQueries[apiFlavor],
variables: parameters.variables,
headers: parameters.headers,
operationName: parameters.operationName,
onEditQuery: onEditQuery,
onEditVariables: onEditVariables,
onEditOperationName: onEditOperationName,
onEditHeaders: onEditHeaders,
defaultEditorToolsVisibility: true
},
React.createElement(GraphiQL.Logo, {}, [header, select]));
Expand Down

0 comments on commit ce6fc7a

Please sign in to comment.