Commit c71fb2a0899fe94c63306d8822b797c6dd42ef68
feat: serve ssb websites under /web
Stephen Whitmore committed on 4/16/2018, 8:59:50 PMParent: f41ee2c2c804f38dab9cbe2f218bc8d429e0e5cc
Files changed
index.js | changed |
package.json | changed |
index.js | ||
---|---|---|
@@ -8,8 +8,9 @@ | ||
8 | 8 … | var sort = require('ssb-sort') |
9 | 9 … | var toPull = require('stream-to-pull-stream') |
10 | 10 … | var memo = require('asyncmemo') |
11 | 11 … | var lru = require('lrucache') |
12 … | +var webresolve = require('ssb-web-resolver') | |
12 | 13 … | var serveEmoji = require('emoji-server')() |
13 | 14 … | var { |
14 | 15 … | MdRenderer, |
15 | 16 … | renderEmoji, |
@@ -81,8 +82,9 @@ | ||
81 | 82 … | |
82 | 83 … | if (req.url.startsWith('/user-feed/')) return serveUserFeed(req, res, m[4]) |
83 | 84 … | else if (req.url.startsWith('/channel/')) return serveChannel(req, res, m[4]) |
84 | 85 … | else if (req.url.startsWith('/.well-known/acme-challenge')) return serveAcmeChallenge(req, res) |
86 … | + else if (req.url.startsWith('/web/')) return serveWeb(req, res, m[4]) | |
85 | 87 … | |
86 | 88 … | if (m[2] && m[2].length === 3) { |
87 | 89 … | m[1] = decodeURIComponent(m[1]) |
88 | 90 … | m[2] = m[1][0] |
@@ -143,8 +145,30 @@ | ||
143 | 145 … | ) |
144 | 146 … | }) |
145 | 147 … | } |
146 | 148 … | |
149 … | + function serveWeb (req, res, url) { | |
150 … | + var self = this | |
151 … | + var id = decodeURIComponent(url.substr(1)) | |
152 … | + | |
153 … | + var components = url.split('/') | |
154 … | + if (components[0] === '') components.shift() | |
155 … | + if (components[0] === 'web') components.shift() | |
156 … | + components[0] = decodeURIComponent(components[0]) | |
157 … | + | |
158 … | + webresolve(sbot, components, function (err, data) { | |
159 … | + if (err) { | |
160 … | + return respond(res, 404, 'ERROR: ' + err) | |
161 … | + } | |
162 … | + return pull( | |
163 … | + pull.once(data), | |
164 … | + toPull(res, function (err) { | |
165 … | + if (err) console.error('[viewer]', err) | |
166 … | + }) | |
167 … | + ) | |
168 … | + }) | |
169 … | + } | |
170 … | + | |
147 | 171 … | function serveUserFeed(req, res, url) { |
148 | 172 … | var feedId = url.substring(url.lastIndexOf('user-feed/')+10, 100) |
149 | 173 … | console.log("serving user feed: " + feedId) |
150 | 174 … |
Built with git-ssb-web