apollo-server-module-graphiql
Advanced tools
Comparing version 1.2.0 to 1.3.0
@@ -10,3 +10,3 @@ "use strict"; | ||
var endpointURL = data.endpointURL; | ||
var endpointWs = endpointURL.startsWith('ws://'); | ||
var endpointWs = endpointURL.startsWith('ws://') || endpointURL.startsWith('wss://'); | ||
var subscriptionsEndpoint = data.subscriptionsEndpoint; | ||
@@ -32,5 +32,5 @@ var usingHttp = !endpointWs; | ||
'<script src="//unpkg.com/graphiql-subscriptions-fetcher@0.0.2/browser/client.js"></script>' | ||
: '') + "\n\n</head>\n<body>\n <script>\n // Collect the URL parameters\n var parameters = {};\n window.location.search.substr(1).split('&').forEach(function (entry) {\n var eq = entry.indexOf('=');\n if (eq >= 0) {\n parameters[decodeURIComponent(entry.slice(0, eq))] =\n decodeURIComponent(entry.slice(eq + 1));\n }\n });\n // Produce a Location query string from a parameter object.\n function locationQuery(params, location) {\n return (location ? location: '') + '?' + Object.keys(params).map(function (key) {\n return encodeURIComponent(key) + '=' +\n encodeURIComponent(params[key]);\n }).join('&');\n }\n // Derive a fetch URL from the current URL, sans the GraphQL parameters.\n var graphqlParamNames = {\n query: true,\n variables: true,\n operationName: true\n };\n var otherParams = {};\n for (var k in parameters) {\n if (parameters.hasOwnProperty(k) && graphqlParamNames[k] !== true) {\n otherParams[k] = parameters[k];\n }\n }\n\n " + (usingWs ? "\n var subscriptionsClient = new window.SubscriptionsTransportWs.SubscriptionClient('" + endpointURLWs + "', {\n reconnect: true" + (websocketConnectionParams ? ",\n connectionParams: " + JSON.stringify(websocketConnectionParams) : '') + "\n });\n\n var graphQLWSFetcher = subscriptionsClient.request.bind(subscriptionsClient);\n " : '') + "\n\n " + (usingHttp ? "\n // We don't use safe-serialize for location, because it's not client input.\n var fetchURL = locationQuery(otherParams, '" + endpointURL + "');\n\n // Defines a GraphQL fetcher using the fetch API.\n function graphQLHttpFetcher(graphQLParams) {\n return fetch(fetchURL, {\n method: 'post',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n " + passHeader + "\n },\n body: JSON.stringify(graphQLParams),\n credentials: 'same-origin',\n }).then(function (response) {\n return response.text();\n }).then(function (responseBody) {\n try {\n return JSON.parse(responseBody);\n } catch (error) {\n return responseBody;\n }\n });\n }\n " : '') + "\n\n " + (usingWs && usingHttp ? "\n var fetcher =\n window.GraphiQLSubscriptionsFetcher.graphQLFetcher(subscriptionsClient, graphQLHttpFetcher);\n " : "\n var fetcher = " + (usingWs ? 'graphQLWSFetcher' : 'graphQLHttpFetcher') + ";\n ") + "\n\n // When the query and variables string is edited, update the URL bar so\n // that it can be easily shared.\n function onEditQuery(newQuery) {\n parameters.query = newQuery;\n updateURL();\n }\n function onEditVariables(newVariables) {\n parameters.variables = newVariables;\n updateURL();\n }\n function onEditOperationName(newOperationName) {\n parameters.operationName = newOperationName;\n updateURL();\n }\n function updateURL() {\n var cleanParams = Object.keys(parameters).filter(function(v) {\n return parameters[v] !== undefined;\n }).reduce(function(old, v) {\n old[v] = parameters[v];\n return old;\n }, {});\n\n history.replaceState(null, null, locationQuery(cleanParams) + window.location.hash);\n }\n // Render <GraphiQL /> into the body.\n ReactDOM.render(\n React.createElement(GraphiQL, {\n fetcher: fetcher,\n onEditQuery: onEditQuery,\n onEditVariables: onEditVariables,\n onEditOperationName: onEditOperationName,\n query: " + safeSerialize(queryString) + ",\n response: " + safeSerialize(resultString) + ",\n variables: " + safeSerialize(variablesString) + ",\n operationName: " + safeSerialize(operationName) + ",\n editorTheme: " + safeSerialize(editorTheme) + ",\n websocketConnectionParams: " + safeSerialize(websocketConnectionParams) + ",\n }),\n document.body\n );\n </script>\n</body>\n</html>"; | ||
: '') + "\n\n</head>\n<body>\n <script>\n // Collect the URL parameters\n var parameters = {};\n window.location.search.substr(1).split('&').forEach(function (entry) {\n var eq = entry.indexOf('=');\n if (eq >= 0) {\n parameters[decodeURIComponent(entry.slice(0, eq))] =\n decodeURIComponent(entry.slice(eq + 1));\n }\n });\n // Produce a Location query string from a parameter object.\n function locationQuery(params, location) {\n return (location ? location: '') + '?' + Object.keys(params).map(function (key) {\n return encodeURIComponent(key) + '=' +\n encodeURIComponent(params[key]);\n }).join('&');\n }\n // Derive a fetch URL from the current URL, sans the GraphQL parameters.\n var graphqlParamNames = {\n query: true,\n variables: true,\n operationName: true\n };\n var otherParams = {};\n for (var k in parameters) {\n if (parameters.hasOwnProperty(k) && graphqlParamNames[k] !== true) {\n otherParams[k] = parameters[k];\n }\n }\n\n " + (usingWs ? "\n var subscriptionsClient = new window.SubscriptionsTransportWs.SubscriptionClient('" + endpointURLWs + "', {\n reconnect: true" + (websocketConnectionParams ? ",\n connectionParams: " + JSON.stringify(websocketConnectionParams) : '') + "\n });\n\n var graphQLWSFetcher = subscriptionsClient.request.bind(subscriptionsClient);\n " : '') + "\n\n " + (usingHttp ? "\n // We don't use safe-serialize for location, because it's not client input.\n var fetchURL = locationQuery(otherParams, '" + endpointURL + "');\n\n // Defines a GraphQL fetcher using the fetch API.\n function graphQLHttpFetcher(graphQLParams) {\n return fetch(fetchURL, {\n method: 'post',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n " + passHeader + "\n },\n body: JSON.stringify(graphQLParams),\n credentials: 'same-origin',\n }).then(function (response) {\n return response.text();\n }).then(function (responseBody) {\n try {\n return JSON.parse(responseBody);\n } catch (error) {\n return responseBody;\n }\n });\n }\n " : '') + "\n\n " + (usingWs && usingHttp ? "\n var fetcher =\n window.GraphiQLSubscriptionsFetcher.graphQLFetcher(subscriptionsClient, graphQLHttpFetcher);\n " : "\n var fetcher = " + (usingWs ? 'graphQLWSFetcher' : 'graphQLHttpFetcher') + ";\n ") + "\n\n // When the query and variables string is edited, update the URL bar so\n // that it can be easily shared.\n function onEditQuery(newQuery) {\n parameters.query = newQuery;\n updateURL();\n }\n function onEditVariables(newVariables) {\n parameters.variables = newVariables;\n updateURL();\n }\n function onEditOperationName(newOperationName) {\n parameters.operationName = newOperationName;\n updateURL();\n }\n function updateURL() {\n var cleanParams = Object.keys(parameters).filter(function(v) {\n return parameters[v];\n }).reduce(function(old, v) {\n old[v] = parameters[v];\n return old;\n }, {});\n\n history.replaceState(null, null, locationQuery(cleanParams) + window.location.hash);\n }\n // Render <GraphiQL /> into the body.\n ReactDOM.render(\n React.createElement(GraphiQL, {\n fetcher: fetcher,\n onEditQuery: onEditQuery,\n onEditVariables: onEditVariables,\n onEditOperationName: onEditOperationName,\n query: " + safeSerialize(queryString) + ",\n response: " + safeSerialize(resultString) + ",\n variables: " + safeSerialize(variablesString) + ",\n operationName: " + safeSerialize(operationName) + ",\n editorTheme: " + safeSerialize(editorTheme) + ",\n websocketConnectionParams: " + safeSerialize(websocketConnectionParams) + ",\n }),\n document.body\n );\n </script>\n</body>\n</html>"; | ||
} | ||
exports.renderGraphiQL = renderGraphiQL; | ||
//# sourceMappingURL=renderGraphiQL.js.map |
{ | ||
"name": "apollo-server-module-graphiql", | ||
"version": "1.2.0", | ||
"version": "1.3.0", | ||
"description": "GraphiQL renderer for Apollo GraphQL Server", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -1,3 +0,3 @@ | ||
# graphql-server-module-graphiql | ||
# apollo-server-module-graphiql | ||
This is the GraphiQL rendering implementation for the Apollo community GraphQL Server. [Read the docs.](http://dev.apollodata.com/tools/apollo-server/index.html) | ||
This is the GraphiQL rendering implementation for the Apollo community GraphQL Server. [Read the docs.](https://www.apollographql.com/docs/apollo-server/) |
@@ -47,3 +47,3 @@ /* | ||
const endpointURL = data.endpointURL; | ||
const endpointWs = endpointURL.startsWith('ws://'); | ||
const endpointWs = endpointURL.startsWith('ws://') || endpointURL.startsWith('wss://'); | ||
const subscriptionsEndpoint = data.subscriptionsEndpoint; | ||
@@ -188,3 +188,3 @@ const usingHttp = !endpointWs; | ||
var cleanParams = Object.keys(parameters).filter(function(v) { | ||
return parameters[v] !== undefined; | ||
return parameters[v]; | ||
}).reduce(function(old, v) { | ||
@@ -191,0 +191,0 @@ old[v] = parameters[v]; |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
27037