@waline/vercel 1.13.2 → 1.13.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@waline/vercel",
3
- "version": "1.13.2",
3
+ "version": "1.13.3",
4
4
  "description": "vercel server for waline comment system",
5
5
  "repository": "https://github.com/walinejs/waline",
6
6
  "license": "MIT",
@@ -5,6 +5,12 @@ module.exports = [
5
5
  Model(think.app),
6
6
  Mongo(think.app),
7
7
  {
8
+ context: {
9
+ get serverURL() {
10
+ const { protocol, host, path, controller } = this;
11
+ return `${protocol}://${host}${path.slice(0, -controller.length)}`;
12
+ },
13
+ },
8
14
  controller: {
9
15
  fail(...args) {
10
16
  if (this.ctx.status === 200) {
@@ -375,10 +375,9 @@ module.exports = class extends BaseRest {
375
375
  think.logger.debug(`Comment initial status is ${data.status}`);
376
376
 
377
377
  if (data.status === 'approved') {
378
- const spam = await akismet(
379
- data,
380
- this.ctx.protocol + '://' + this.ctx.host
381
- ).catch((e) => console.log(e)); // ignore akismet error
378
+ const spam = await akismet(data, this.ctx.serverURL).catch((e) =>
379
+ console.log(e)
380
+ ); // ignore akismet error
382
381
 
383
382
  if (spam === true) {
384
383
  data.status = 'spam';
@@ -18,8 +18,8 @@ module.exports = class extends think.Controller {
18
18
  const hasCode =
19
19
  type === 'twitter' ? oauth_token && oauth_verifier : Boolean(code);
20
20
  if (!hasCode) {
21
- const { protocol, host } = this.ctx;
22
- const redirectUrl = `${protocol}://${host}/oauth?${qs.stringify({
21
+ const { serverURL } = this.ctx;
22
+ const redirectUrl = `${serverURL}/oauth?${qs.stringify({
23
23
  redirect,
24
24
  type,
25
25
  })}`;
@@ -36,8 +36,8 @@ module.exports = class extends think.Controller {
36
36
  */
37
37
  const params = { code, oauth_verifier, oauth_token };
38
38
  if (type === 'facebook') {
39
- const { protocol, host } = this.ctx;
40
- const redirectUrl = `${protocol}://${host}/oauth?${qs.stringify({
39
+ const { serverURL } = this.ctx;
40
+ const redirectUrl = `${serverURL}/oauth?${qs.stringify({
41
41
  redirect,
42
42
  type,
43
43
  })}`;
@@ -27,9 +27,8 @@ module.exports = class extends BaseRest {
27
27
  }
28
28
 
29
29
  const notify = this.service('notify');
30
- const { protocol, host } = this.ctx;
31
30
  const token = jwt.sign(user[0].email, this.config('jwtKey'));
32
- const profileUrl = `${protocol}://${host}/ui/profile?token=${token}`;
31
+ const profileUrl = `${this.ctx.serverURL}/ui/profile?token=${token}`;
33
32
 
34
33
  await notify.transporter.sendMail({
35
34
  from:
@@ -58,9 +58,7 @@ module.exports = class extends BaseRest {
58
58
 
59
59
  const notify = this.service('notify');
60
60
  const apiUrl =
61
- this.ctx.protocol +
62
- '://' +
63
- this.ctx.host +
61
+ this.ctx.serverURL +
64
62
  '/verification?' +
65
63
  qs.stringify({ token, email: data.email });
66
64