Switch to leading / on paths everywhere, including in favicon.zip and analytics
authorNick Downing <downing.nick@gmail.com>
Tue, 9 Oct 2018 01:19:43 +0000 (12:19 +1100)
committerNick Downing <downing.nick@gmail.com>
Tue, 9 Oct 2018 01:19:43 +0000 (12:19 +1100)
resources.js
site.js

index 42f49a3..80c8b94 100644 (file)
@@ -108,9 +108,10 @@ let get_zip = path => build_cache_zip.get(
         }
       )
       read_stream.pipe(write_stream)
+      let path = '/' + entries[i].fileName
       data = await data
-      console.log('entry path', entries[i].fileName, 'size', data.length)
-      result.value[entries[i].fileName] = data
+      console.log('entry path', path, 'size', data.length)
+      result.value[path] = data
     }
     await zipfile.close()
   }
diff --git a/site.js b/site.js
index d65c934..f7b77d3 100644 (file)
--- a/site.js
+++ b/site.js
@@ -73,7 +73,7 @@ let app = async (site, site_root, req, res, protocol) => {
     server.redirect(res, path + (parsed_url.search || ''))
     return
   }
-  let page = path.slice(1).join('/')
+  let page = path.join('/')
 
   let temp = file_name.lastIndexOf('.')
   let file_type = temp === -1 ? '' : file_name.substring(temp + 1)
@@ -136,14 +136,14 @@ let app = async (site, site_root, req, res, protocol) => {
     await analytics.pageviews_dirty()
   }
 
-  /*let*/ page = dir_name + '/' + file_name; let data
   if (dir_name_is_pub) {
+    temp = site_root + dir_name + '/' + file_name
     try {
-      let data = await fs_readFile(site_root + page)
+      let data = await fs_readFile(temp)
       console.log(
         site,
         'serving',
-        page,
+        temp,
         'length',
         data.length,
         'from pub'
@@ -259,9 +259,8 @@ let app = async (site, site_root, req, res, protocol) => {
   }
 
   let favicons = await resources.get_zip(site_root + '/favicons.zip')
-  temp = page.substring(1) // fix this to avoid leading / on all absolute paths
-  if (favicons.hasOwnProperty(temp)) {
-    let data = favicons[temp]
+  if (favicons.hasOwnProperty(page)) {
+    let data = favicons[page]
     console.log(
       site,
       'serving',