Express.js Request Object
The express.js request object represents the HTTP request and has properties for the request query string, parameters, body, HTTP headers, and so on.
| Index | Properties | Description |
|---|---|---|
| 1. | req.app | This is used to hold a reference to the instance of the express application that is using the middleware. |
| 2. | req.baseurl | It specifies the URL path on which a router instance was mounted. |
| 3. | req.body | It contains key-value pairs of data submitted in the request body. By default, it is undefined, and is populated when you use body-parsing middleware such as body-parser. |
| 4. | req.cookies | When we use cookie-parser middleware, this property is an object that contains cookies sent by the request. |
| 5. | req.fresh | It specifies that the request is "fresh." it is the opposite of req.stale. |
| 6. | req.hostname | It contains the hostname from the "host" http header. |
| 7. | req.ip | It specifies the remote IP address of the request. |
| 8. | req.ips | When the trust proxy setting is true, this property contains an array of IP addresses specified in the ?x-forwarded-for? request header. |
| 9. | req.originalurl | This property is much like req.url; however, it retains the original request URL, allowing you to rewrite req.url freely for internal routing purposes. |
| 10. | req.params | An object containing properties mapped to the named route ?parameters?. For example, if you have the route /user/:name, then the "name" property is available as req.params.name. This object defaults to {}. |
| 11. | req.path | It contains the path part of the request URL. |
| 12. | req.protocol | The request protocol string, "http" or "https" when requested with TLS. |
| 13. | req.query | An object containing a property for each query string parameter in the route. |
| 14. | req.route | The currently-matched route, a string. |
| 15. | req.secure | A Boolean that is true if a TLS connection is established. |
| 16. | req.signedcookies | When using cookie-parser middleware, this property contains signed cookies sent by the request, unsigned and ready for use. |
| 17. | req.stale | It indicates whether the request is "stale," and is the opposite of req.fresh. |
| 18. | req.subdomains | It represents an array of subdomains in the domain name of the request. |
| 19. | req.xhr | A Boolean value that is true if the request's "x-requested-with" header field is "xmlhttprequest", indicating that the request was issued by a client library such as jQuery |
Getting the http Methods
// creating a http server with express // - using conditional statement var express = require("express"); var app = express();
var http = require("http"); // console.log(http.METHODS); console.log(http.STATUS_CODES);
In Express.js, the request object (req) represents the HTTP request made by the client to the server. It contains various properties and methods that allow you to access request-related information, such as headers, body, query parameters, cookies, and more.
Commonly Used Properties of req
Here are the most frequently used properties:
req.params
In Express.js, req.params is an object containing the route parameters mapped to their respective values. Route parameters are defined in the route path by using a colon (:) followed by a name, like /user/:id
Example:
req.queryContains query string parameters as key-value pairs.
Example:
req.bodyContains the body data of the request. This requires middleware such as
express.json() or express.urlencoded() to parse the body.Example
req.headersContains the headers sent by the client as an object.
Example:
req.methodThe HTTP method used in the request (
GET, POST, etc.).Example:
req.urlThe URL of the request (excluding the host).
Example:
req.ipThe IP address of the client.
Example: