Как исправить ошибки H13, H21 & ERR_HTTP_ERR_SEND в heroku express - PullRequest
0 голосов
/ 24 апреля 2020

В Haroku у меня постоянно появляются ошибки, такие как код = H13, код = H21 или ERR_HTTP_ERR_SEND. Как я могу это исправить?

Я также вижу, что каждый раз, когда я go к сайту request_id изменяется. Можно ли остаться с одним идентификатором? Я должен экспортировать свой код в https://codepen.io/imabrowny/pen/WNQRvxZ?editors=111, поэтому мне нужен фиксированный идентификатор там.

Я могу получить http://lab5-webtech-brovnie.herokuapp.com/ без каких-либо проблем, но остальное, как / api / v1 не работает 1

Мой код в контроллерах выглядит следующим образом:

const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const messagesSchema = new Schema({
    text: String,
    user: String,
    //completed: Boolean
});
const Message = mongoose.model('Messages', messagesSchema);
const getHomepage = (req, res) => {
    res.send("GET homepage");
    res.header("Access-Control-Allow-Headers", "x-requested-with, x-requested-by");
};

const getAllMessages = (req, res) => {
    res.header("Access-Control-Allow-Headers", "x-requested-with, x-requested-by");
    Message.find({}, (err, doc) => {

        if (!err) {
            res.json({
                "status": "success",
                "data": {
                    "message": doc
                }
            })
            //error
        } else {
            res.json({
                "status": "fail",
                "data": {
                    "message": "Coudn't find messages"
                }
            })
        } //end if/else

    }); // end Message.find
}; // end get All messages

const getMessage = (req, res) => {
    //res.send("GET message!!!" + req.params.id);
    Message.find({ _id: req.params.id }, (err, doc) => {
        res.header("Access-Control-Allow-Headers", "x-requested-with, x-requested-by");
        if (!err) {
            res.json({
                "status": "success",
                "data": {
                    "message": doc
                }
            })
            //error
        } else {
            res.json({
                "status": "fail",
                "data": {
                    "message": "Can't find message or user"
                }
            })
        } //end if/else
    }); //

}; // end getMessage

const getUsername = (req, res) => {
    //res.send("GET username");
    let user = req.params.user;
    Message.find({ user: user }, (err, doc) => {
        res.header("Access-Control-Allow-Headers", "x-requested-with, x-requested-by");
        if (!err) {
            res.json({
                "status": "success",
                "data": {
                    "message": doc
                }
            })
            //error
        } else {
            res.json({
                "status": "fail",
                "data": {
                    "message": "Username not founded"
                }
            })
        } //end if/else
    }); //
};

const addMessage = (req, res) => {
    //res.send("GET message");
    let message = new Message();
    message.text = "nodejs isn't hard, or is it";
    message.user = "Pikachu";
    //message.completed = false;
    res.header("Access-Control-Allow-Headers", "x-requested-with, x-requested-by");
    message.save((err, doc) => {
        if (!err) {
            res.json({
                "status": "success",
                "data": {
                    "message": doc
                }
            });
        } else {
            res.json({
                "status": "fail",
                "data": {
                    "message": "Can't save message :("
                }
            });


        }
    });
}

const updateMessage = (req, res) => {
    res.header("Access-Control-Allow-Headers", "x-requested-with, x-requested-by");
    Message.findByIdAndUpdate({ _id: req.params.id }, (err, doc) => {
        if (!err) {
            res.json({
                "status": "success",
                "data": {
                    "message": "UPDATING a message with id " + req.params.id
                }
            })
            //error
        } else {
            res.json({
                "status": "fail",
                "data": {
                    "message": "Message not founded"
                }
            })
        } //end if/else
    }); //

};

const deleteMessage = (req, res) => {
    res.send("GET message");
    Message.findByIdAndDelete({ _id: req.params.id }, (err, doc) => {
        res.header("Access-Control-Allow-Headers", "x-requested-with, x-requested-by");
        if (!err) {
            res.json({
                "status": "success",
                "data": {
                    "message": "The message was removed " + req.params.id
                }
            })
            //error
        } else {
            res.json({
                "status": "fail",
                "data": {
                    "message": "Message not founded"
                }
            })
        } //end if/else
    });
};

module.exports.getHomepage = getHomepage;
module.exports.getAllMessages = getAllMessages
module.exports.getMessage = getMessage;
module.exports.getUsername = getUsername;
module.exports.addMessage = addMessage;
module.exports.updateMessage = updateMessage;
module.exports.deleteMessage = deleteMessage;

маршрутизаторы:

const express = require('express');
const router = express.Router();
const messageController = require('../../../controllers/api/v1/messages');

//try


//GET
router.get('/', messageController.getHomepage);

// GET all messages
router.get('/messages', messageController.getAllMessages );

// GET MESSAGE ID
router.get('/messages/:id', messageController.getMessage);
//GET: Username
router.get('/messages/:user', messageController.getUsername);
//POST
router.post('/messages/', messageController.addMessage);
//PUT
router.put('/messages/:id', messageController.updateMessage);
//DELETE
router.delete('/messages/:id', messageController.deleteMessage);

module.exports = router;

Мой код https://github.com/brovnie/webtech-Lab5

...