Commit 58e51b98743793a144acbba06d639beb926b51db
Better headers
Anders Rune Jensen committed on 5/11/2017, 7:15:38 PMParent: bd1f870b33c574c0a2d6808e3d3fef576d53374e
Files changed
index.js | changed |
index.js | ||
---|---|---|
@@ -119,27 +119,31 @@ | ||
119 | 119 … | emoji: renderEmoji, |
120 | 120 … | renderer: new MdRenderer(opts) |
121 | 121 … | } |
122 | 122 … | |
123 | - pull( | |
124 | - sbot.createUserStream({ id: feedId, reverse: true }), | |
125 | - pull.collect(function (err, logs) { | |
126 | - if (err) return respond(res, 500, err.stack || err) | |
127 | - res.writeHead(200, { | |
128 | - 'Content-Type': ctype("html") | |
123 … | + getAbout(feedId, function (err, about) { | |
124 … | + if (err) return cb(err) | |
125 … | + | |
126 … | + pull( | |
127 … | + sbot.createUserStream({ id: feedId, reverse: true }), | |
128 … | + pull.collect(function (err, logs) { | |
129 … | + if (err) return respond(res, 500, err.stack || err) | |
130 … | + res.writeHead(200, { | |
131 … | + 'Content-Type': ctype("html") | |
132 … | + }) | |
133 … | + pull( | |
134 … | + pull.values(logs), | |
135 … | + paramap(addAuthorAbout, 8), | |
136 … | + paramap(addFollowAbout, 8), | |
137 … | + paramap(addVoteMessage, 8), | |
138 … | + pull(renderThread(opts), wrapPage(about.name)), | |
139 … | + toPull(res, function (err) { | |
140 … | + if (err) console.error('[viewer]', err) | |
141 … | + }) | |
142 … | + ) | |
129 | 143 … | }) |
130 | - pull( | |
131 | - pull.values(logs), | |
132 | - paramap(addAuthorAbout, 8), | |
133 | - paramap(addFollowAbout, 8), | |
134 | - paramap(addVoteMessage, 8), | |
135 | - pull(renderThread(opts), wrapPage(feedId)), | |
136 | - toPull(res, function (err) { | |
137 | - if (err) console.error('[viewer]', err) | |
138 | - }) | |
139 | - ) | |
140 | - }) | |
141 | - ) | |
144 … | + ) | |
145 … | + }) | |
142 | 146 … | } |
143 | 147 … | |
144 | 148 … | function serveUserFeed(req, res, url) { |
145 | 149 … | var feedId = url.substring(url.lastIndexOf('user-feed/')+10, 100) |
@@ -147,40 +151,42 @@ | ||
147 | 151 … | |
148 | 152 … | var following = [] |
149 | 153 … | var channelSubscriptions = [] |
150 | 154 … | |
151 | - pull( | |
152 | - sbot.createUserStream({ id: feedId }), | |
153 | - pull.filter((msg) => { | |
154 | - return !msg.value || | |
155 | - msg.value.content.type == 'contact' || | |
156 | - (msg.value.content.type == 'channel' && | |
157 | - typeof msg.value.content.subscribed != 'undefined') | |
158 | - }), | |
159 | - pull.collect(function (err, msgs) { | |
160 | - msgs.forEach((msg) => { | |
161 | - if (msg.value.content.type == 'contact') | |
162 | - { | |
163 | - if (msg.value.content.following) | |
164 | - following[msg.value.content.contact] = 1 | |
165 | - else | |
166 | - delete following[msg.value.content.contact] | |
167 | - } | |
168 | - else // channel subscription | |
169 | - { | |
170 | - if (msg.value.content.subscribed) | |
171 | - channelSubscriptions[msg.value.content.channel] = 1 | |
172 | - else | |
173 | - delete following[msg.value.content.channel] | |
174 | - } | |
155 … | + getAbout(feedId, function (err, about) { | |
156 … | + pull( | |
157 … | + sbot.createUserStream({ id: feedId }), | |
158 … | + pull.filter((msg) => { | |
159 … | + return !msg.value || | |
160 … | + msg.value.content.type == 'contact' || | |
161 … | + (msg.value.content.type == 'channel' && | |
162 … | + typeof msg.value.content.subscribed != 'undefined') | |
163 … | + }), | |
164 … | + pull.collect(function (err, msgs) { | |
165 … | + msgs.forEach((msg) => { | |
166 … | + if (msg.value.content.type == 'contact') | |
167 … | + { | |
168 … | + if (msg.value.content.following) | |
169 … | + following[msg.value.content.contact] = 1 | |
170 … | + else | |
171 … | + delete following[msg.value.content.contact] | |
172 … | + } | |
173 … | + else // channel subscription | |
174 … | + { | |
175 … | + if (msg.value.content.subscribed) | |
176 … | + channelSubscriptions[msg.value.content.channel] = 1 | |
177 … | + else | |
178 … | + delete following[msg.value.content.channel] | |
179 … | + } | |
180 … | + }) | |
181 … | + | |
182 … | + serveFeeds(req, res, following, channelSubscriptions, feedId, 'user feed ' + about.name) | |
175 | 183 … | }) |
176 | - | |
177 | - serveFeeds(req, res, following, channelSubscriptions, feedId) | |
178 | - }) | |
179 | - ) | |
184 … | + ) | |
185 … | + }) | |
180 | 186 … | } |
181 | 187 … | |
182 | - function serveFeeds(req, res, following, channelSubscriptions, feedId) { | |
188 … | + function serveFeeds(req, res, following, channelSubscriptions, feedId, name) { | |
183 | 189 … | var opts = defaultOpts |
184 | 190 … | |
185 | 191 … | opts.marked = { |
186 | 192 … | gfm: true, |
@@ -212,9 +218,9 @@ | ||
212 | 218 … | pull.values(logs), |
213 | 219 … | paramap(addAuthorAbout, 8), |
214 | 220 … | paramap(addFollowAbout, 8), |
215 | 221 … | paramap(addVoteMessage, 8), |
216 | - pull(renderThread(opts), wrapPage(feedId)), | |
222 … | + pull(renderThread(opts), wrapPage(name)), | |
217 | 223 … | toPull(res, function (err) { |
218 | 224 … | if (err) console.error('[viewer]', err) |
219 | 225 … | }) |
220 | 226 … | ) |
@@ -251,9 +257,9 @@ | ||
251 | 257 … | pull( |
252 | 258 … | pull.values(logs), |
253 | 259 … | paramap(addAuthorAbout, 8), |
254 | 260 … | paramap(addVoteMessage, 8), |
255 | - pull(renderThread(opts), wrapPage(channelId)), | |
261 … | + pull(renderThread(opts), wrapPage('#' + channelId)), | |
256 | 262 … | toPull(res, function (err) { |
257 | 263 … | if (err) console.error('[viewer]', err) |
258 | 264 … | }) |
259 | 265 … | ) |
@@ -480,9 +486,9 @@ | ||
480 | 486 … | |
481 | 487 … | function wrapPage(id) { |
482 | 488 … | return wrap('<!doctype html><html><head>' |
483 | 489 … | + '<meta charset=utf-8>' |
484 | - + '<title>' + id + '</title>' | |
490 … | + + '<title>' + id + ' | ssb-viewer</title>' | |
485 | 491 … | + '<meta name=viewport content="width=device-width,initial-scale=1">' |
486 | 492 … | + '<link rel=stylesheet href="/static/base.css">' |
487 | 493 … | + '<link rel=stylesheet href="/static/nicer.css">' |
488 | 494 … | + '</head><body>', |
Built with git-ssb-web