小编joh*_*mac的帖子

bcrypt错误:需要数据和哈希参数

我收到一个bcrypt错误,指出需要数据和哈希参数,引用我的routes.js文件中的第44行.据我所知,我传递的信息是:bcrypt.compare的第一个参数是用户输入的密码,第二个参数是从db中检索的哈希密码.我究竟做错了什么?

bcrypt.compare(req.params.password, user.password, function...
Run Code Online (Sandbox Code Playgroud)

routes.js

'use strict'

var express = require('express');
var router = express.Router();
var User = require('../app/models/user');
//password hashing
var bcrypt = require('bcrypt');

var count = 0;

router.use(function(req, res, next) {
    count++;
    console.log('API hit count = %s', count);
    next();
});

// /users post(create new user) get(specific user)
router.route('/users')
    .post(function(req,res) {
        var user = new User();
        user.username = req.body.username;
        user.password = bcrypt.hashSync(req.body.password, 10);

        //save the user and checkfor errors
        user.save(function(err) {
            if (err) {
                res.send(err);
            } else {
                res.json({message: …
Run Code Online (Sandbox Code Playgroud)

javascript bcrypt

8
推荐指数
3
解决办法
1万
查看次数

API Gateway 无服务器 Lambda 集成“不支持的媒体类型”

我正在使用无服务器部署我的 API,使用 lambda 集成,我收到错误“不支持的媒体类型”。我在这里做错了什么,但不确定是什么。如果我在 AWS 控制台中手动设置它,它工作得很好,但我想在无服务器中进行。下面是我的 serverless.yml 的一个片段,一个我希望它在部署后看起来像的屏幕截图,以及我的 serverless.yml 的当前外观的屏幕截图。

    events:
  - http:
      path: /path
      method: post
      integration: lambda
Run Code Online (Sandbox Code Playgroud)

AWS 控制台中的集成响应和方法响应当前的样子:

在此处输入图片说明

我希望它们看起来像什么:

在此处输入图片说明

基本上,集成响应 HTTP 状态模式和方法响应模型需要包含在 serverless.yml 中,但我还没有找到正确的配置。它们根本没有包含在我的示例中,因为我不知道要放入哪个失败的示例。文档使它看起来相当简单,但到目前为止我的所有尝试都没有得到我想要的结果。

amazon-web-services aws-api-gateway serverless-framework serverless

6
推荐指数
0
解决办法
828
查看次数

AWS API Gateway错误响应生成502"Bad Gateway"

我有一个带有LAMBDA_PROXY集成请求类型的API网关.在Lambda中调用context.succeed时,响应头部按预期发送回代码302(如下所示).但是,我想处理500和404错误,到目前为止我唯一确定的是,我正在错误地返回错误,因为我收到了502 Bad Gateway.我的context.fail出了什么问题?

这是我的handler.js

const handler = (event, context) => { 
    //event consists of hard coded values right now
    getUrl(event.queryStringParameters)
    .then((result) => {
        const parsed = JSON.parse(result);
        let url;
        //handle error message returned in response
        if (parsed.error) {
            let error = {
                statusCode: 404,
                body: new Error(parsed.error)
            }
            return context.fail(error);
        } else {
            url = parsed.source || parsed.picture;
            return context.succeed({
                statusCode: 302,
                headers: {
                  Location : url
                }
              });
        }
    });
};
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-lambda aws-api-gateway

5
推荐指数
1
解决办法
9793
查看次数

我如何在mysql Sequelize实例中拥有数组的数据类型?

我正在构建一个使用Node/Express和MySQL和Sequelize作为ORM的应用程序.我希望有一个数据类型的数组,但续集文档说这仅限于postgres.

基本上,如果我有一个有3列的用户表(例如,name,phone,favColors),我希望favColors填充从用户检索的字符串值数组.我怎样才能做到这一点?

mysql arrays sequelize.js

4
推荐指数
2
解决办法
4182
查看次数

作为依赖项的私有github repo在npm install上是无关紧要的

这是我第一次使用私有仓库作为另一个项目的依赖项.我认为我做得对,但安装后新项目中的依赖项不可用,并且不在node_modules中.

这篇文章之后,我可以看到我正确地将它包含在package.json中:

"myPackage": "git+https://github.com/myusername/mygitrepository.git"
Run Code Online (Sandbox Code Playgroud)

当我npm install在这个包上运行时,我看到它没有错误,但是在列表中的这个依赖项之后,它显示为extraneous(git+https://github.com/myusername/mygitrepository.git).

即使存在无关紧要的问题,也没有错误,并且依赖项不可用或在node_modules中列出.

更新:repo_A package.json

{
  "name": "project-name",
  "version": "1.0.0",
  "description": "Backend utility functions",
  "scripts": {
    "test": "mocha"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/user/repo.git"
  },
  "author": "me",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/user/repo/issues"
  },
  "homepage": "https://github.com/user/repo#readme",
  "dependencies": {
    "lodash": "^4.17.4",
    "mongodb": "^2.2.25",
    "redis": "^2.7.1",
    "winston": "^2.3.1"
  }
}
Run Code Online (Sandbox Code Playgroud)

更新:repo_B package.json

{
  "name": "main-project-name",
  "version": "1.0.0",
  "description": "",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/user/repo.git"
  },
  "author": "someone else",
  "homepage": "https://github.com/user/repo.git", …
Run Code Online (Sandbox Code Playgroud)

git node.js package.json npm-install

3
推荐指数
1
解决办法
2308
查看次数

git rebase之后的清理分支

对于Git,我通常相当有能力,但是我不确定在这种情况下会发生什么,什么是最佳解决方案。

场景:

  • 我从dev创建了一个功能分支。
  • 修复完成,测试并推送。
  • 然后,我切换回开发,执行git pull并查看队友的几次提交。
  • git checkout featureBranch然后git rebase dev重播对最新开发人员所做的更改(据我了解)。
  • git status表示本地和来源featureBranch已分开git pull
  • git pull 导致提交消息终端打开。
  • git status显示git push是必需的。
  • 之后git push,我的PR显示了我分支上dev的同事的所有提交,而不仅仅是修复。

在这种情况下我做错了什么?我希望继续单独处理我的featureBranch,直到它得到修复为止,然后,确保将所做的更改应用于最新的开发人员,以避免冲突。在这种情况下,我的团队鼓励改基。

为什么开发人员的新提交已经在开发人员中,为什么在我的PR featureBranch >>开发人员中显示呢?

将我的PR恢复到原始提交的最佳解决方案是什么?我的意思不是在这里,我的意思是开发人员提交不应该在这里。

git rebase

3
推荐指数
1
解决办法
381
查看次数

如何在 AWS CDK 堆栈中压缩 Node Lambda 依赖项?

我正在使用 CDK 通过 API Gateway、Lambda 和 DynamoDB 创建一个简单的无服务器项目。到目前为止看起来很酷,但是当我向 Lambda 添加外部依赖项时出现以下错误:

"Runtime.ImportModuleError: Error: Cannot find module './uuid-random'",
Run Code Online (Sandbox Code Playgroud)

为了清楚起见,我并不是在问这个错误的问题是什么,因为这是有详细记录的。我正在寻求帮助,因为到目前为止我尝试压缩依赖项失败了。

我已经做了研究,而且我并不是唯一遇到这种情况的人。然而,我有点困惑该走哪条路。我需要捆绑我的依赖项,但到目前为止,所有示例对于我正在做的事情来说都相当复杂,并且没有一个示例适合。我还看到了使用的建议fromAsset,但这也不起作用(cdk部署刚刚挂起)。因此,我非常感谢任何帮助解决这个看似简单的问题的帮助。TIA。

项目结构:

bin/
  cdkProject.js
handlers/
  api.js
lib/
  cdkProject-stack.js
node_modules/
test/
.gitignore
cdk.json
package.json
tsconfig.json
Run Code Online (Sandbox Code Playgroud)

Lambda (api.js)

const AWS = require("aws-sdk");
const db = new AWS.DynamoDB;
const TABLE_NAME = process.env.TABLE_NAME || "";
const PRIMARY_KEY = process.env.PRIMARY_KEY || "";
const uuid = require('./uuid-random');

async function postProduct(event) {

  const params = {
    TableName: TABLE_NAME,
    Item: {
      "id": {
        S: uuid()
      },
      "name": {
        S: …
Run Code Online (Sandbox Code Playgroud)

node.js node-modules aws-lambda aws-cdk

3
推荐指数
2
解决办法
8181
查看次数

动态地将缺少的标签添加到损坏的HTML字符串中

我有一串破碎的HTML.我需要搜索字符串并在JavaScript中添加任何缺少的开始或结束标记.没有正则表达式,没有jQuery.例如,我想创建一个这样的字符串:

"This <small>is <i>ONE</small> Messed up string</i>."
Run Code Online (Sandbox Code Playgroud)

有这样的正确形式:

"This <small>is <i>ONE</i></small><i> Messed up string</i>."
Run Code Online (Sandbox Code Playgroud)

基本上,第一个<i><small>元素的子元素.因此,我需要确保正确放置结束标记,并确保错放原始结束标记的另一个开始标记.

html javascript

2
推荐指数
1
解决办法
902
查看次数

节点使用URL调整图像大小而不保存图像

我有一个服务,它将FB图像网址作为参数,检查它是一个有效的网址,返回一个图像,然后如果所有检查都已通过则返回网址.如果这些参数也被传入,我想添加一个步骤来调整图像大小,然后像之前一样通过url返回调整大小的图像.

至少可以说,我对图像处理的经验很少,但到目前为止我的理解是使用像锐利的图书馆,调整大小,在某处保存新尺寸的图像,然后将新网址返回到图像位置.

这似乎是最合乎逻辑的方法.但是,我想知道如果我不想在任何地方托管这些已调整大小的图像,可能的解决方案是什么.还有另一种方式,或者我之前的理解是如何走上正轨?

来自facebook的网址示例如下:https://scontent.xx.fbcdn.net/v/t1.0-9/16473924_10154471006092746_6242863207915608429_n.jpg?oh=4d7fb8fb162c0ff036810ee2969703f0&oe=5A25EE1C.

image image-resizing node.js

1
推荐指数
1
解决办法
1514
查看次数

有没有一种有效的方法来验证节点中的图像源 url?

我正在使用 Node 来获取 Instagram 图像,并且遇到了一个我有兴趣解决的边缘案例。在使用 oembed API 调用时,我可以获取thumbnail_url. 在我的服务中,我返回图像 url 并继续。这里的问题是,对于某些固定链接(轮播/相册),这thumbnail_url会加载 5xx Instagram 错误。

我想做的是验证图像 url 加载图像,如果没有,请执行其他操作而不是返回它。

我知道什么是“别的东西”。我的问题是我从 oembed 调用返回的 url 确实是一个有效的 url,所以我不需要验证它。我需要按预期验证 url 加载。

我最初的想法是做一些类似的事情,但我以前从未尝试过验证图像源 url,我总是首先尝试获取 url:

function urlTester(url) {
    request(url, (error, response, body) => {
      if (error) {
        console.log('URL does not load');
      } else {
        console.log('URL loads image!');
      }
    })
}
Run Code Online (Sandbox Code Playgroud)

node.js

0
推荐指数
1
解决办法
2535
查看次数