Last active
December 22, 2023 02:42
-
-
Save ninjascribble/5119003 to your computer and use it in GitHub Desktop.
Fetching the user-agent string from a request using either NodeJS or NodeJS + Express
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** Native NodeJS */ | |
var http = require('http') | |
, server = http.createServer(function(req) { | |
console.log(req.headers['user-agent']); | |
}); | |
server.listen(3000, 'localhost'); | |
/** NodeJS with Express */ | |
var express = require('express') | |
, http = require('http') | |
, app = express(); | |
http.createServer(app).listen(3000); | |
app.get('/', function(req, res) { | |
console.log(req.get('user-agent')); | |
}); |
nice
Thanks
Thank You.
thanks man
Thanks
NestJS way:
import {
Body,
Controller,
Headers,
Post,
Request,
UseGuards,
} from '@nestjs/common';
import { ApiTags } from '@nestjs/swagger';
import { Request as ExpressRequest } from 'express';
import { AuthService } from './auth.service';
import {
LoginDto,
GeneratedJwtTokenResponseDto,
} from './dto';
import { LocalAuthGuard } from './local-auth.guard';
@ApiTags('Authentication')
@Controller('auth')
export class AuthController {
constructor(private readonly authService: AuthService) {}
@UseGuards(LocalAuthGuard)
@Post('login')
async login(
@Request() req: ExpressRequest,
@Body() requestBody: LoginDto,
@Headers('User-Agent') userAgent: string,
// @Headers() headers: Record<string, any>, equivalent to req.headers. You can read by: headers['User-Agent']
): Promise<GeneratedJwtTokenResponseDto> {
return await this.authService.login({
user: req.user as any,
ip: req.ip,
userAgent,
});
}
}
Thanks guys
Thanks guys!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
good job