express-useragent icon indicating copy to clipboard operation
express-useragent copied to clipboard

Property 'useragent' does not exist on type 'Request<ParamsDictionary>'

Open haveamission opened this issue 5 years ago • 4 comments

Trying to use express-useragent with NodeJS/Express/TypeScript and getting this error.

Code:

app.get("/chat", keycloak.protect(), async (req, res) => {
    let chatController = new ChatController();
    let url = await chatController.openAppChat(req.useragent, channeluserId, merchantName);
    res.redirect(url);
});

haveamission avatar Jan 24 '20 23:01 haveamission

Facing the same issue.

mostafiz93 avatar Apr 28 '20 15:04 mostafiz93

Try installing types npm i -D @types/express-useragent

narendra-manchala avatar Sep 29 '20 08:09 narendra-manchala

Facing same issue I tried creating a global types file as well and this doesn't solve it, neither does @narendra67 answer.

import express from "express"
export default interface IRequest extends express.Request {
    useragent?: any;
}

LukeXF avatar Mar 08 '21 20:03 LukeXF

Creating a separate file and importing it higher up solved this issue:

declare global {
    namespace Express {
        interface Request {
            useragent?: any
        }
    }
}

LukeXF avatar Mar 08 '21 21:03 LukeXF