
DeepInside
11.09.2018
10:17:16
тогда покажи код ) как отправляешь, как включаешь бодипарсер и роут
app.use((req, res, next) => {
// IE9 doesn't set headers for cross-domain ajax requests
if (typeof (req.headers['content-type']) === 'undefined') {
req.headers['content-type'] = 'application/json; charset=UTF-8';
}
next();
})
.use(bodyParser.json())
.use(bodyParser.urlencoded({ extended: true }));
// Включил парсер
auth.delete(${baseUrl}/user, controller.removeUser);
// Вот роут
У меня просто это по разным файлам раскиданно, ну и у роута есть контроллер естественно, но там ничего такого если что могу скинуть
function removeUser(req, res) {
const { key } = req.headers['x-api-key'];
const { user } = req.body.username;
User.findOneAndDelete({ username: user, apikey: key }, (err, result) => {
if (err) {
return res.status(500).json({ error: 1, msg: 'Internal Error' });
}
log.debug(result);
return res.status(200).json({ error: 0, message: 'Removed' });
});
}
сам контроллер


Gleb
11.09.2018
10:20:17
в delete вроде body не приходит

Google

DeepInside
11.09.2018
10:20:20
еще я сделал оверрайд метода, но тоже не помогло
app.use(methodOverride('x-api-key', 'DELETE'));

Gleb
11.09.2018
10:21:44
The only methods that allow for request bodies are POST, PUT, and PATCH
у тебя клиентик данные не отправляет похоже

rddlr
11.09.2018
10:22:27
Сори за флуд
Я не эйчар
это мошенник ищущий дурачков сделать работу на шару, будьте бдительны. было кедло во вью чате

DeepInside
11.09.2018
10:22:48

rddlr
11.09.2018
10:23:01
мимо)

DeepInside
11.09.2018
10:23:05
ну пока что, т.к клиента еще нет

Gleb
11.09.2018
10:23:33
короче, в методе delete нужно передавать хедер Content-Type: application/json
ты его передаешь?

Евгений
11.09.2018
10:27:38

Vlad
11.09.2018
10:28:25
Небольшая регулярочка

Google

Alexander
11.09.2018
10:28:26
Ебать

Евгений
11.09.2018
10:28:52
дебажу чужой код. и вот не понимаю, имеет ли проверка тогда смысл)))

DeepInside
11.09.2018
10:28:58

Gleb
11.09.2018
10:29:14
а в post он клиентом автоматом добавляется

DeepInside
11.09.2018
10:29:39

Gleb
11.09.2018
10:30:29
а тебя не смущает что регес не валидный? )

Евгений
11.09.2018
10:30:57

DeepInside
11.09.2018
10:31:10

Josh
11.09.2018
10:31:37

Vlad
11.09.2018
10:31:51

Gleb
11.09.2018
10:32:23
на слеши не в ту сторону

Vlad
11.09.2018
10:32:35
убери слеши

Евгений
11.09.2018
10:32:43

Gleb
11.09.2018
10:32:56

Евгений
11.09.2018
10:33:14
вроде ошибок на валидность нет

Alexander
11.09.2018
10:33:25
Почему не использовать \S ?
Так же проще

WestlE
11.09.2018
10:33:43
Пиздец ты мощный

Google

DeepInside
11.09.2018
10:33:49

Евгений
11.09.2018
10:34:14

Gleb
11.09.2018
10:34:23

Alexander
11.09.2018
10:34:44

Gleb
11.09.2018
10:34:47

DeepInside
11.09.2018
10:35:04

Gleb
11.09.2018
10:35:26

DeepInside
11.09.2018
10:35:36

Евгений
11.09.2018
10:35:39

WestlE
11.09.2018
10:35:56
И один хуй не все урл валидные будут
С новыми доменными зонами я имею ввиду

Andrei
11.09.2018
10:36:06
ого интересно... вообще регекс вроде верный, точнее test должон возвращать true

Евгений
11.09.2018
10:36:07

WestlE
11.09.2018
10:36:35
X.online
X.party
И прочие

Евгений
11.09.2018
10:36:50

Vlad
11.09.2018
10:37:05
Интересная штука

Vadim
11.09.2018
10:37:34
эм

Andrei
11.09.2018
10:37:37

Google

Gleb
11.09.2018
10:37:39
жара

Vlad
11.09.2018
10:37:46
функциональные программисты горят

Yadgar
11.09.2018
10:37:47
facepalm

Евгений
11.09.2018
10:37:57

Vlad
11.09.2018
10:38:48
собственно поэтому второй вызов у тебя true

Евгений
11.09.2018
10:39:18

Admin
ERROR: S client not available

Vadim
11.09.2018
10:39:29
А как оно так?

Vlad
11.09.2018
10:39:31
бля, я теперь веь день думать буду.
отцы js, придите

Евгений
11.09.2018
10:39:51

Cenator
11.09.2018
10:40:13
на /regex/.test() переделай и все будет норм

Yaroslav
11.09.2018
10:40:18

Andrei
11.09.2018
10:40:23
https://ponyfoo.com/articles/stateful-regular-expressions

Yaroslav
11.09.2018
10:40:29
там он типо историю сравнений хранит (грубо говоря)

Евгений
11.09.2018
10:41:58
всем спасибо. можно спать спокойно

Vlad
11.09.2018
10:42:40
да, спасибо) не, это не круто)

Cenator
11.09.2018
10:43:03
это документированное поведение, лол
не нравится - напиши свое

Евгений
11.09.2018
10:43:37

Alex
11.09.2018
10:46:24
привет, подскажите как сделать, чтобы менялись только те поля которые поступили ?
прилетает с клиента только 3 инпута из 8 для апдейта, остальные 5 в базе перезаписываются
(node, express, vue)
const user = await User.findByIdAndUpdate(req.session._id, { $set: permission.filter(req.body)}, {new: true});

Google

Yaroslav
11.09.2018
10:47:35
т.е. если поле не задано, то оно не трогается

Alex
11.09.2018
10:50:39

Yaroslav
11.09.2018
10:50:52
фильтруйте правильно
на заданое значение

Andrew
11.09.2018
10:54:35

Alex
11.09.2018
10:55:15

Alexander
11.09.2018
11:00:27
_Кто_его_знает

Nell
11.09.2018
11:01:57
Кэп подсказывает, что если у тебя _this4 является null, то проблема в его создании

Defragmented
11.09.2018
11:03:49
eventemitter по какой-то причине равен нулю. возможно событие не создается вовремя. нет доступа к сети например, какие-то условия не выполнены. смотри в коде где он должен получать значение

500 Internal Server Error
11.09.2018
11:09:09
А версии ноды совпадают? А так да действительно кто его знает

Andrew
11.09.2018
11:09:33

Алексей
11.09.2018
11:33:43
Парни есть канал в телеге типа nodejs jobs, только где не работодатель пишет, а работник резюме?

енот
11.09.2018
11:36:08
там и пиши

Алексей
11.09.2018
11:40:01
спасибо

Sasha
11.09.2018
12:01:11

Aga
11.09.2018
12:21:23
Кто-то использует мониторинг pm2.io в продакшне?