|
| 1 | +# Request |
| 2 | + |
| 3 | +Endless Lifecycle Support (ELS) for Request from TuxCare provides security fixes for Request versions that have reached their end of life. This allows you to continue running Request applications without vulnerability concerns, even after official support has ended. |
| 4 | + |
| 5 | +## Supported Request Versions |
| 6 | + |
| 7 | +* Request 2.88.0, 2.88.2 |
| 8 | + |
| 9 | +## Connection to ELS for Request Repository |
| 10 | + |
| 11 | +This guide outlines the steps needed to integrate the TuxCare ELS for Request repository. |
| 12 | + |
| 13 | +## Step 1: Get Token |
| 14 | + |
| 15 | +You need a token in order to use TuxCare ELS Request repository. Anonymous access is disabled. To receive the token, please contact [[email protected]](mailto:[email protected]). |
| 16 | + |
| 17 | +## Step 2: Set Up ELS for Request |
| 18 | + |
| 19 | +TuxCare provides ELS for Request as an NPM package, hosted on a secure internal registry. Follow the steps below to add it to your project and get started. |
| 20 | + |
| 21 | +1. Navigate to the root directory of your Request project. |
| 22 | +2. Create a `.npmrc` file or update it if it already exists. |
| 23 | + |
| 24 | + **Example:** |
| 25 | + |
| 26 | + ```text |
| 27 | + my-request-project/ |
| 28 | + ├── node_modules/ |
| 29 | + ├── package.json |
| 30 | + ├── .npmrc ⚠️ ← Create it here |
| 31 | + └── package-lock.json |
| 32 | + ``` |
| 33 | + |
| 34 | +3. Use an editor of your choice (e.g., VS Code) to add the following registry address line: |
| 35 | + |
| 36 | + <CodeWithCopy> |
| 37 | + |
| 38 | + ```text |
| 39 | + registry=https://registry.npmjs.org/ |
| 40 | + @els-js:registry=https://nexus.repo.tuxcare.com/repository/els_js/ |
| 41 | + //nexus.repo.tuxcare.com/repository/els_js/:_auth=${TOKEN} |
| 42 | + ``` |
| 43 | + |
| 44 | + </CodeWithCopy> |
| 45 | + |
| 46 | + :::warning |
| 47 | + Replace ${TOKEN} with the token you received from [[email protected]](mailto:[email protected]). |
| 48 | + ::: |
| 49 | + |
| 50 | +4. Update your `package.json` file to replace your Request dependencies with the TuxCare packages: |
| 51 | + |
| 52 | + <TableTabs label="Choose Request version: " > |
| 53 | + |
| 54 | + <template #Request_2.88.0> |
| 55 | + |
| 56 | + <CodeWithCopy> |
| 57 | + |
| 58 | + ```text |
| 59 | + "dependencies": { |
| 60 | + "request": "npm:@els-js/[email protected]" |
| 61 | + }, |
| 62 | + "overrides": { |
| 63 | + "request": { |
| 64 | + "form-data": "npm:@els-js/[email protected]" |
| 65 | + } |
| 66 | + } |
| 67 | + ``` |
| 68 | +
|
| 69 | + </CodeWithCopy> |
| 70 | +
|
| 71 | + </template> |
| 72 | +
|
| 73 | + <template #Request_2.88.2> |
| 74 | +
|
| 75 | + <CodeWithCopy> |
| 76 | +
|
| 77 | + ```text |
| 78 | + "dependencies": { |
| 79 | + "request": "npm:@els-js/[email protected]" |
| 80 | + }, |
| 81 | + "overrides": { |
| 82 | + "request": { |
| 83 | + "form-data": "npm:@els-js/[email protected]" |
| 84 | + } |
| 85 | + } |
| 86 | + ``` |
| 87 | +
|
| 88 | + </CodeWithCopy> |
| 89 | +
|
| 90 | + </template> |
| 91 | +
|
| 92 | + </TableTabs> |
| 93 | +
|
| 94 | +5. You need to remove the `node_modules` directory and the `package-lock.json` file, and also clear the `npm cache` before installing the patched packages. Use the following commands: |
| 95 | + |
| 96 | + <CodeWithCopy> |
| 97 | +
|
| 98 | + ```text |
| 99 | + rm -rf node_modules package-lock.json && npm cache clean --force |
| 100 | + ``` |
| 101 | + |
| 102 | + </CodeWithCopy> |
| 103 | + |
| 104 | +6. Run the following command to install ELS for Request dependencies (token for the TuxCare repository will be automatically picked up from your `.npmrc` file): |
| 105 | + |
| 106 | + <CodeWithCopy> |
| 107 | + |
| 108 | + ```text |
| 109 | + npm install |
| 110 | + ``` |
| 111 | + |
| 112 | + </CodeWithCopy> |
| 113 | + |
| 114 | + Example output: |
| 115 | + |
| 116 | + ```text |
| 117 | + added 49 packages, and audited 50 packages in 3s |
| 118 | +
|
| 119 | + 3 packages are looking for funding |
| 120 | + run `npm fund` for details |
| 121 | +
|
| 122 | + found 0 vulnerabilities |
| 123 | + ``` |
| 124 | + |
| 125 | +7. You've successfully integrated the TuxCare ELS for Request repository into your project. |
| 126 | + |
| 127 | +## Vulnerability Exploitability eXchange (VEX) |
| 128 | + |
| 129 | +VEX is a machine-readable format that tells you if a known vulnerability and is actually exploitable in your product. It reduces false positives, helps prioritize real risks. |
| 130 | + |
| 131 | +TuxCare provides VEX for Request ELS versions: [security.tuxcare.com/vex/cyclonedx/els_lang_javascript/request/](https://security.tuxcare.com/vex/cyclonedx/els_lang_javascript/request/). |
| 132 | + |
| 133 | +## How to Upgrade to a Newer Version of TuxCare Packages |
| 134 | + |
| 135 | +If you have already installed a package with a `tuxcare.1` suffix and want to upgrade to a newer release (for example, `tuxcare.3`), update the version strings in your `package.json`, remove installed files and clear npm cache to avoid conflicts: |
| 136 | + |
| 137 | + <CodeWithCopy> |
| 138 | + |
| 139 | + ```text |
| 140 | + rm -rf node_modules package-lock.json && npm cache clean --force |
| 141 | + npm install |
| 142 | + ``` |
| 143 | + |
| 144 | + </CodeWithCopy> |
0 commit comments