diff --git a/README.md b/README.md index ad47cd6..203baa2 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ You can find more examples on how to use rxjs-probe in [rxjs-probe-examples GitH ## 🔎 Probe Performers - [Probe Performer](https://github.com/a179346/rxjs-probe-examples/tree/main?tab=readme-ov-file#-custom-probe-performer) - The customizable health check performer -- [Http Probe Performer](https://github.com/a179346/rxjs-probe/tree/main/packages/http-probe-performer#readme) - send HTTP GET requests to perform the health check. +- [Http Probe Performer](https://github.com/a179346/rxjs-probe/tree/main/packages/http-probe-performer#readme) - Sending HTTP GET requests to perform the health check. ## 🤝 Contributing diff --git a/packages/core/README.md b/packages/core/README.md index ad47cd6..203baa2 100644 --- a/packages/core/README.md +++ b/packages/core/README.md @@ -68,7 +68,7 @@ You can find more examples on how to use rxjs-probe in [rxjs-probe-examples GitH ## 🔎 Probe Performers - [Probe Performer](https://github.com/a179346/rxjs-probe-examples/tree/main?tab=readme-ov-file#-custom-probe-performer) - The customizable health check performer -- [Http Probe Performer](https://github.com/a179346/rxjs-probe/tree/main/packages/http-probe-performer#readme) - send HTTP GET requests to perform the health check. +- [Http Probe Performer](https://github.com/a179346/rxjs-probe/tree/main/packages/http-probe-performer#readme) - Sending HTTP GET requests to perform the health check. ## 🤝 Contributing diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index bd56117..5e97acc 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -15,7 +15,7 @@ import { forkJoin, Observable, race, repeat, switchMap, tap, timer } from 'rxjs' * Use this class to create a custom health check performer. * * Or leverage our predefined health check performers: - * - [HttpProbePerformer](https://www.npmjs.com/package/@rxjs-probe/http-probe-performer) + * - [HttpProbePerformer](https://github.com/a179346/rxjs-probe/tree/main/packages/http-probe-performer) */ export class ProbePerformer { /** diff --git a/packages/http-probe-performer/__tests__/http-probe-performer.test.js b/packages/http-probe-performer/__tests__/http-probe-performer.test.js index 29d1109..c0d83df 100644 --- a/packages/http-probe-performer/__tests__/http-probe-performer.test.js +++ b/packages/http-probe-performer/__tests__/http-probe-performer.test.js @@ -30,6 +30,18 @@ describe('HTTP Probe Performer', () => { expect(healthy).toEqual(true); }, 2000); + it('should return false when the status code is greater than 399', async () => { + const performer = new HttpProbePerformer({ + host: 'localhost', + port: 3000, + path: '/not-found', + }); + + const observable = performer.createObservable(2); + const healthy = await firstValueFrom(observable); + expect(healthy).toEqual(false); + }, 2000); + it('should return false when timeoutd', async () => { const performer = new HttpProbePerformer({ host: 'localhost', diff --git a/packages/http-probe-performer/__tests__/test-server.test.js b/packages/http-probe-performer/__tests__/test-server.test.js index 552fd76..2adf148 100644 --- a/packages/http-probe-performer/__tests__/test-server.test.js +++ b/packages/http-probe-performer/__tests__/test-server.test.js @@ -14,6 +14,10 @@ module.exports = { }, responseTimeout); }); + app.get('/not-found', (req, res) => { + res.status(404).send(); + }); + server = app.listen(3000, () => { resolve(); }); diff --git a/packages/http-probe-performer/src/index.ts b/packages/http-probe-performer/src/index.ts index 77165bf..097b1b4 100644 --- a/packages/http-probe-performer/src/index.ts +++ b/packages/http-probe-performer/src/index.ts @@ -55,7 +55,7 @@ export class HttpProbePerformer extends ProbePerformer { credentials: 'same-origin', }); - if (response.status < 200 || response.status >= 300) { + if (response.status < 200 || response.status >= 400) { throw new Error(`HTTP status code: ${response.status}`); } });