From 1118cc56eb43f3f216fecd5c25949b1412ad5804 Mon Sep 17 00:00:00 2001
From: John McLear <john@mclear.co.uk>
Date: Sun, 21 Jun 2015 11:03:32 +0100
Subject: [PATCH] move everything to headers

---
 src/node/hooks/express/specialpages.js | 22 +++++++++++++++++++++-
 src/templates/index.html               | 17 -----------------
 2 files changed, 21 insertions(+), 18 deletions(-)

diff --git a/src/node/hooks/express/specialpages.js b/src/node/hooks/express/specialpages.js
index 15e853db4..7ae85f281 100644
--- a/src/node/hooks/express/specialpages.js
+++ b/src/node/hooks/express/specialpages.js
@@ -12,7 +12,9 @@ exports.expressCreateServer = function (hook_name, args, cb) {
   //serve index.html under /
   args.app.get('/', function(req, res)
   {
-    res.send(eejs.require("ep_etherpad-lite/templates/index.html"));
+    sendPadHeaderFiles(res, function(){
+      res.send(eejs.require("ep_etherpad-lite/templates/index.html"));
+    });
   });
 
   //serve robots.txt
@@ -78,3 +80,21 @@ exports.expressCreateServer = function (hook_name, args, cb) {
 
 
 }
+
+function sendPadHeaderFiles(res, callback){
+  res.set('Link', '<static/js/require-kernel.js>; rel=prefetch \, \
+    <javascripts/lib/ep_etherpad-lite/static/js/pad.js?callback=require.define>; rel=prefetch \, \
+    <javascripts/lib/ep_etherpad-lite/static/js/ace2_common.js?callback=require.define>; rel=prefetch \, \
+    <javascripts/lib/ep_etherpad-lite/static/js/ace2_inner.js?callback=require.define>; rel=prefetch \, \
+    <javascripts/lib/unorm/lib/unorm.js?callback=require.define>; rel=prefetch \, \
+    <static/custom/pad.js>; rel=prefetch \, \
+    <static/js/html10n.js>; rel=prefetch \, \
+    <static/js/l10n.js>; rel=prefetch \, \
+    <static/css/pad.css>; rel=prefetch \, \
+    <static/custom/pad.css>; rel=prefetch \, \
+    <static/css/iframe_editor.css>; rel=prefetch \, \
+    <pluginfw/plugin-definitions.json>; rel=prefetch \, \
+    <locales.json>; rel=prefetch \, \
+    <static/font/fontawesome-etherpad.woff>; rel=prefetch');
+  callback();
+}
diff --git a/src/templates/index.html b/src/templates/index.html
index 8777efa7e..a0c849a5c 100644
--- a/src/templates/index.html
+++ b/src/templates/index.html
@@ -33,23 +33,6 @@
         <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">
         <link rel="shortcut icon" href="<%=settings.favicon%>">
         <link rel="localizations" type="application/l10n+json" href="locales.json">
-        <link rel="prefetch" href="static/css/pad.css">
-        <link rel="prefetch" href="static/custom/pad.css">
-        <link rel="prefetch" href="static/js/require-kernel.js">
-        <link rel="prefetch" href="javascripts/lib/ep_etherpad-lite/static/js/pad.js?callback=require.define">
-        <link rel="prefetch" href="javascripts/lib/ep_etherpad-lite/static/js/ace2_common.js?callback=require.define">
-        <link rel="prefetch" href="javascripts/lib/ep_etherpad-lite/static/js/ace2_inner.js?callback=require.define">
-        <link rel="prefetch" href="javascripts/lib/unorm/lib/unorm.js?callback=require.define">
-        <link rel="prefetch" href="static/custom/pad.js">
-        <link rel="prefetch" href="pluginfw/plugin-definitions.json">
-        <link rel="prefetch" href="locales.json">
-        <link rel="prefetch" href="static/font/fontawesome-etherpad.woff">
-
-<!-- 
-  No point prefetching these as we load them below??...
-        <link rel="prefetch" href="static/js/html10n.js">
-        <link rel="prefetch" href="static/js/l10n.js">
--->
 
         <script type="text/javascript" src="static/js/html10n.js"></script>
         <script type="text/javascript" src="static/js/l10n.js"></script>
-- 
GitLab