我收到一个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) 我正在使用无服务器部署我的 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
我有一个带有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) 我正在构建一个使用Node/Express和MySQL和Sequelize作为ORM的应用程序.我希望有一个数据类型的数组,但续集文档说这仅限于postgres.
基本上,如果我有一个有3列的用户表(例如,name,phone,favColors),我希望favColors填充从用户检索的字符串值数组.我怎样才能做到这一点?
这是我第一次使用私有仓库作为另一个项目的依赖项.我认为我做得对,但安装后新项目中的依赖项不可用,并且不在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,我通常相当有能力,但是我不确定在这种情况下会发生什么,什么是最佳解决方案。
场景:
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恢复到原始提交的最佳解决方案是什么?我的意思不是在这里,我的意思是开发人员提交不应该在这里。
我正在使用 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) 我有一串破碎的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>元素的子元素.因此,我需要确保正确放置结束标记,并确保错放原始结束标记的另一个开始标记.
我有一个服务,它将FB图像网址作为参数,检查它是一个有效的网址,返回一个图像,然后如果所有检查都已通过则返回网址.如果这些参数也被传入,我想添加一个步骤来调整图像大小,然后像之前一样通过url返回调整大小的图像.
至少可以说,我对图像处理的经验很少,但到目前为止我的理解是使用像锐利的图书馆,调整大小,在某处保存新尺寸的图像,然后将新网址返回到图像位置.
这似乎是最合乎逻辑的方法.但是,我想知道如果我不想在任何地方托管这些已调整大小的图像,可能的解决方案是什么.还有另一种方式,或者我之前的理解是如何走上正轨?
来自facebook的网址示例如下:https://scontent.xx.fbcdn.net/v/t1.0-9/16473924_10154471006092746_6242863207915608429_n.jpg?oh=4d7fb8fb162c0ff036810ee2969703f0&oe=5A25EE1C.
我正在使用 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 ×4
aws-lambda ×2
git ×2
javascript ×2
arrays ×1
aws-cdk ×1
bcrypt ×1
html ×1
image ×1
mysql ×1
node-modules ×1
npm-install ×1
package.json ×1
rebase ×1
sequelize.js ×1
serverless ×1