File tree Expand file tree Collapse file tree 1 file changed +19
-0
lines changed
packages/gatsby/src/commands Expand file tree Collapse file tree 1 file changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -19,6 +19,7 @@ const launchEditor = require(`react-dev-utils/launchEditor`)
1919const formatWebpackMessages = require ( `react-dev-utils/formatWebpackMessages` )
2020const chalk = require ( `chalk` )
2121const address = require ( `address` )
22+ const sourceNodes = require ( `../utils/source-nodes` )
2223
2324// const isInteractive = process.stdout.isTTY
2425
@@ -91,6 +92,24 @@ async function startServer(program) {
9192 graphiql : true ,
9293 } )
9394 )
95+
96+ /**
97+ * Refresh external data sources.
98+ * This behavior is disabled by default, but the ENABLE_REFRESH_ENDPOINT env var enables it
99+ * If no GATSBY_REFRESH_TOKEN env var is available, then no Authorization header is required
100+ **/
101+ app . post ( `/__refresh` , ( req , res ) => {
102+ const enableRefresh = process . env . ENABLE_GATSBY_REFRESH_ENDPOINT
103+ const refreshToken = process . env . GATSBY_REFRESH_TOKEN
104+ const authorizedRefresh = ( ! refreshToken || req . headers . authorization === refreshToken )
105+
106+ if ( enableRefresh && authorizedRefresh ) {
107+ console . log ( `Refreshing source data` )
108+ sourceNodes ( )
109+ }
110+ res . end ( )
111+ } )
112+
94113 app . get ( `/__open-stack-frame-in-editor` , ( req , res ) => {
95114 launchEditor ( req . query . fileName , req . query . lineNumber )
96115 res . end ( )
You can’t perform that action at this time.
0 commit comments