reqforge 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -11,7 +11,7 @@ npm install reqforge
11
11
  ## Quick Start
12
12
 
13
13
  ```javascript
14
- const { config, utils, request } = require('reqforge');
14
+ const { config, utils, request, Logger } = require('reqforge');
15
15
 
16
16
  // Get the base URL for API requests
17
17
  const baseURL = config.getBaseURL();
@@ -22,10 +22,9 @@ request.get('/users')
22
22
  .then(res => res.json())
23
23
  .then(data => console.log(data));
24
24
 
25
- // Make a POST request
26
- request.post('/users', { name: 'John', email: 'john@example.com' })
27
- .then(res => res.json())
28
- .then(data => console.log(data));
25
+ // Use custom logger
26
+ const logger = new Logger('[MyApp]');
27
+ logger.info('Application started');
29
28
  ```
30
29
 
31
30
  ## Request Methods
@@ -38,6 +37,15 @@ The `request` module provides:
38
37
  - `put(endpoint, data, options)` - PUT request
39
38
  - `del(endpoint, options)` - DELETE request
40
39
 
40
+ ## Logger
41
+
42
+ The `Logger` class provides:
43
+
44
+ - `log(message)` - Log a message
45
+ - `info(message)` - Log an info message
46
+ - `warn(message)` - Log a warning message
47
+ - `error(message)` - Log an error message
48
+
41
49
  ## Configuration
42
50
 
43
51
  The `config` module provides:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reqforge",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "A lightweight, flexible HTTP client library with request interception, automatic retry, and logging capabilities, designed for modern web applications.",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
package/src/index.js CHANGED
@@ -6,9 +6,11 @@
6
6
  const config = require('./config');
7
7
  const utils = require('./utils');
8
8
  const request = require('./request');
9
+ const Logger = require('./logger');
9
10
 
10
11
  module.exports = {
11
12
  config,
12
13
  utils,
13
- request
14
+ request,
15
+ Logger
14
16
  };
package/src/logger.js ADDED
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Logging module for ReqForge
3
+ * @module logger
4
+ */
5
+
6
+ /**
7
+ * Logger class for logging messages with different levels
8
+ */
9
+ class Logger {
10
+ /**
11
+ * Create a Logger instance
12
+ * @param {string} prefix - Prefix for log messages
13
+ */
14
+ constructor(prefix = '[ReqForge]') {
15
+ this.prefix = prefix;
16
+ }
17
+
18
+ /**
19
+ * Log a message
20
+ * @param {string} message - Message to log
21
+ */
22
+ log(message) {
23
+ console.log(`${this.prefix} ${message}`);
24
+ }
25
+
26
+ /**
27
+ * Log an info message
28
+ * @param {string} message - Message to log
29
+ */
30
+ info(message) {
31
+ console.info(`${this.prefix} INFO: ${message}`);
32
+ }
33
+
34
+ /**
35
+ * Log a warning message
36
+ * @param {string} message - Message to log
37
+ */
38
+ warn(message) {
39
+ console.warn(`${this.prefix} WARN: ${message}`);
40
+ }
41
+
42
+ /**
43
+ * Log an error message
44
+ * @param {string} message - Message to log
45
+ */
46
+ error(message) {
47
+ console.error(`${this.prefix} ERROR: ${message}`);
48
+ }
49
+ }
50
+
51
+ module.exports = Logger;
package/src/request.js CHANGED
@@ -4,6 +4,9 @@
4
4
  */
5
5
 
6
6
  const { getBaseURL } = require('./config');
7
+ const Logger = require('./logger');
8
+
9
+ const logger = new Logger();
7
10
 
8
11
  /**
9
12
  * Send HTTP request
@@ -14,6 +17,7 @@ const { getBaseURL } = require('./config');
14
17
  */
15
18
  function sendRequest(endpoint, data, options = {}) {
16
19
  const url = getBaseURL() + endpoint;
20
+ logger.log(`Request: ${options.method || 'GET'} ${url}`);
17
21
 
18
22
  const fetchOptions = {
19
23
  method: options.method || 'GET',