@takaro/http 0.0.4 → 0.0.5

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/dist/main.d.ts CHANGED
@@ -3,3 +3,4 @@ export * from './middleware/metrics.js';
3
3
  export { createRateLimitMiddleware } from './middleware/rateLimit.js';
4
4
  export { paginationMiddleware } from './middleware/paginationMiddleware.js';
5
5
  export { apiResponse, APIOutput } from './util/apiResponse.js';
6
+ export { ErrorHandler } from './middleware/errorHandler.js';
package/dist/main.js CHANGED
@@ -3,4 +3,5 @@ export * from './middleware/metrics.js';
3
3
  export { createRateLimitMiddleware } from './middleware/rateLimit.js';
4
4
  export { paginationMiddleware } from './middleware/paginationMiddleware.js';
5
5
  export { apiResponse, APIOutput } from './util/apiResponse.js';
6
+ export { ErrorHandler } from './middleware/errorHandler.js';
6
7
  //# sourceMappingURL=main.js.map
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@takaro/http",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "description": "An opinionated http server",
5
5
  "main": "dist/main.js",
6
6
  "types": "dist/main.d.ts",
package/src/main.ts CHANGED
@@ -4,3 +4,4 @@ export * from './middleware/metrics.js';
4
4
  export { createRateLimitMiddleware } from './middleware/rateLimit.js';
5
5
  export { paginationMiddleware } from './middleware/paginationMiddleware.js';
6
6
  export { apiResponse, APIOutput } from './util/apiResponse.js';
7
+ export { ErrorHandler } from './middleware/errorHandler.js';
@@ -1,65 +0,0 @@
1
- import { HTTP } from '../../app.js';
2
- import supertest from 'supertest';
3
- import { expect } from '@takaro/test';
4
- import { ory } from '@takaro/auth';
5
- import { AdminClient } from '@takaro/apiclient';
6
- import { adminAuthMiddleware } from '../adminAuth.js';
7
- import { ErrorHandler } from '../errorHandler.js';
8
- import { Request, Response } from 'express';
9
-
10
- describe('adminAuth', () => {
11
- let http: HTTP;
12
- before(async () => {
13
- http = new HTTP({}, { port: undefined });
14
- http.expressInstance.use(
15
- '/test',
16
- adminAuthMiddleware,
17
- (_req: Request, res: Response) => {
18
- res.json({ ok: true });
19
- },
20
- ErrorHandler,
21
- );
22
- await http.start();
23
- });
24
-
25
- after(async () => {
26
- await http.stop();
27
- });
28
-
29
- it('Rejects requests with no credentials', async () => {
30
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
31
- // @ts-ignore
32
- const response = await supertest(http.expressInstance).get('/test');
33
- expect(response.status).to.be.equal(401);
34
- });
35
-
36
- it('Rejects requests with invalid credentials', async () => {
37
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
38
- // @ts-ignore
39
- const response = await supertest(http.expressInstance).get('/test').set('Authorization', 'Bearer foobar');
40
- expect(response.status).to.be.equal(403);
41
- });
42
-
43
- it('Accepts requests with valid credentials', async () => {
44
- const { clientId, clientSecret } = await ory.createOIDCClient();
45
-
46
- const adminClient = new AdminClient({
47
- url: 'http://localhost:3000',
48
- auth: {
49
- clientId,
50
- clientSecret,
51
- },
52
- OAuth2URL: ory.OAuth2URL,
53
- });
54
-
55
- const token = await adminClient.getOidcToken();
56
-
57
- const response = await supertest(http.expressInstance)
58
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
59
- // @ts-ignore
60
- .get('/test')
61
- .set('Authorization', `Bearer ${token.access_token}`);
62
-
63
- expect(response.status).to.be.equal(200);
64
- });
65
- });