@t4h.framework/http 0.4.0 → 0.4.2

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.
@@ -99,7 +99,7 @@ Shared by activities and `HttpClient` config (minus `url` / `baseUrl` on client
99
99
  | `baseUrl` | `string?` | Optional base for relative paths |
100
100
  | `method` | `HttpMethod?` | `'GET'` |
101
101
  | `body` | `{ json }` \| `{ text }` \| `{ form }` | See below |
102
- | `headers` | `Record<...>?` | Merged with body-derived headers; `auth` sets `Authorization` and overrides a custom `Authorization` header |
102
+ | `headers` | `Record<...>?` | Merged with body-derived headers; `auth` sets `Authorization` and overrides a custom `Authorization` header. A default `User-Agent` is added when none is given (any casing) |
103
103
  | `auth` | `HttpAuth` \| `{ username, password }` | Basic auth object or subclass with `getAuthorizationHeader()` |
104
104
  | `retry` | `boolean` \| retry options | `true` |
105
105
  | `redirect` | `'follow' \| 'manual' \| number` | `'follow'` |
@@ -255,6 +255,8 @@ const auth = new OAuth2GrantResourceOwnerPassword({
255
255
 
256
256
  OAuth2 flow: POST `application/x-www-form-urlencoded` to `tokenUrl` via `HttpClientRequestClaim`; cache token; refresh with `grant_type=refresh_token` when expired if `refresh_token` present; header format `${token_type} ${access_token}`.
257
257
 
258
+ The token request throws when the response is non-2xx, is not valid JSON, or lacks `access_token`/`token_type`, so a broken token endpoint surfaces at the token step instead of producing an `undefined undefined` `Authorization` header on the next call.
259
+
258
260
  Requires `CacheClaim` + `HttpClientRequestClaim` in the runtime.
259
261
 
260
262
  ---
package/CHANGELOG.md ADDED
@@ -0,0 +1,58 @@
1
+ # @t4h.framework/http
2
+
3
+ ## 0.4.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#132](https://github.com/tech4humans-brasil/framework/pull/132) [`968c1b5`](https://github.com/tech4humans-brasil/framework/commit/968c1b547ee1082c2a27e1bce601ebf3d050fb63) Thanks [@gusteycamargo](https://github.com/gusteycamargo)! - Fix body accepted types
8
+
9
+ ## 0.4.1
10
+
11
+ ### Patch Changes
12
+
13
+ - [#130](https://github.com/tech4humans-brasil/framework/pull/130) [`587b9a2`](https://github.com/tech4humans-brasil/framework/commit/587b9a2a847810f72e82f33a77c0ec2d3767dd2e) Thanks [@gusteycamargo](https://github.com/gusteycamargo)! - Adds default user-agent header on http requests
14
+
15
+ ## 0.4.0
16
+
17
+ ### Patch Changes
18
+
19
+ - Update skills ([`6d7e7bc`](https://github.com/tech4humans-brasil/framework/commit/6d7e7bca0c780a9c53a0c9e5aa0a865c5af67959))
20
+
21
+ ## 0.3.1
22
+
23
+ ### Patch Changes
24
+
25
+ - Import serializable class from correct package ([#101](https://github.com/tech4humans-brasil/framework/pull/101))
26
+
27
+ ## 0.3.0
28
+
29
+ ### Minor Changes
30
+
31
+ - Adds fs package ([`538c9bd`](https://github.com/tech4humans-brasil/framework/commit/538c9bd5c49031ceb94ef8d6c513f6ffc9c848c5))
32
+ - Adds http auth ([`dd58d6e`](https://github.com/tech4humans-brasil/framework/commit/dd58d6e10b9440379f478ed3e961d150e205a2eb))
33
+ - Adds support to serializable class ([`ed0ddbb`](https://github.com/tech4humans-brasil/framework/commit/ed0ddbb7c07e2d1d8810e3079c9aa6dd10f4479f))
34
+ - Adds async support for serialization ([#10](https://github.com/tech4humans-brasil/framework/pull/10))
35
+ - Introduce async activity advance and bootstrap ([#19](https://github.com/tech4humans-brasil/framework/pull/19))
36
+ - Adds support to retry and redirect ([`5c97588`](https://github.com/tech4humans-brasil/framework/commit/5c97588262d5f9817ad876d9c682e402c3f6cd94))
37
+ - Adds .ai/skills in packages ([#88](https://github.com/tech4humans-brasil/framework/pull/88))
38
+
39
+ ### Patch Changes
40
+
41
+ - Http package ([`a84844f`](https://github.com/tech4humans-brasil/framework/commit/a84844fbdf6de443f7de748c5632710662faff7f))
42
+ - Remove activity claim context dependency ([`c7c1ac1`](https://github.com/tech4humans-brasil/framework/commit/c7c1ac1fbe4d3eb0d87a7909408c75ebd26b139f))
43
+ - Await multipart form build and include http headers ([#12](https://github.com/tech4humans-brasil/framework/pull/12))
44
+ - Rename activity claim to claim ([`281d700`](https://github.com/tech4humans-brasil/framework/commit/281d7008bd5539ab0b701e755f053d031b332aa8))
45
+ - Rename activity history to history ([`4eaad08`](https://github.com/tech4humans-brasil/framework/commit/4eaad08468815bcdea14c36468c7904655715406))
46
+ - Remove activity prefix from file system claim class name ([`d257bd1`](https://github.com/tech4humans-brasil/framework/commit/d257bd177d477a56a897ba862a0be1f50531c633))
47
+ - Remove activity prefix from http client request claim class name ([`5d37e31`](https://github.com/tech4humans-brasil/framework/commit/5d37e315bafecf949e4c69651c22a4ba4232fe16))
48
+ - Remove activity prefix from cache claim class name ([`4fa4ec9`](https://github.com/tech4humans-brasil/framework/commit/4fa4ec9e319fffeae0b5c96e0ec0e9cfa4e22c22))
49
+ - Fix all tests ([`0270832`](https://github.com/tech4humans-brasil/framework/commit/02708320bd39ffef87f6b46c2e57a1ccccb4ceb0))
50
+ - Fix eslint warnings and errors ([`9a7eeb5`](https://github.com/tech4humans-brasil/framework/commit/9a7eeb52d81a5e99c44819e8271db7f35b6c5195))
51
+ - Adds github workflow to run, build, tests and lint ([#18](https://github.com/tech4humans-brasil/framework/pull/18))
52
+ - Adds readme ([`630c818`](https://github.com/tech4humans-brasil/framework/commit/630c8188df2623019348aa1674315ac0ddcb467f))
53
+ - Update package metadata and author information across multiple packages ([`2ca73df`](https://github.com/tech4humans-brasil/framework/commit/2ca73df42dc63c86ed44717b50d5402fca45b4e7))
54
+ - Improve repository info ([`1fad92d`](https://github.com/tech4humans-brasil/framework/commit/1fad92d959b804189fd1486d047115995ac81eb0))
55
+ - Check types ([`a975a38`](https://github.com/tech4humans-brasil/framework/commit/a975a38a09b81c35205e55170efbed12b54f683a))
56
+ - Up repo coverage ([`24c057c`](https://github.com/tech4humans-brasil/framework/commit/24c057c470d0829ea9a1e1f71011b6eff408180c))
57
+ - Fix check types and lint errors ([`00ca0df`](https://github.com/tech4humans-brasil/framework/commit/00ca0dfe6c2fddbc4e0dbeefb1556d172c752c55))
58
+ - Update package dependencies across multiple packages ([`8b4fc1d`](https://github.com/tech4humans-brasil/framework/commit/8b4fc1d0e92d6bd880ddf4c8119fb68c49c53760))
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Tech for humans
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -13,17 +13,24 @@ export type HttpRequestActivityInputRetryOptions = {
13
13
  export type HttpRequestActivityInputBodyFormData = {
14
14
  [key: string]: string | number | boolean | null | undefined | Binary | readonly HttpRequestActivityInputBodyFormData[] | HttpRequestActivityInputBodyFormData;
15
15
  };
16
+ export type HttpBody = {
17
+ json: Serializable;
18
+ text?: never;
19
+ form?: never;
20
+ } | {
21
+ json?: never;
22
+ text: string;
23
+ form?: never;
24
+ } | {
25
+ json?: never;
26
+ text?: never;
27
+ form: HttpRequestActivityInputBodyFormData;
28
+ };
16
29
  export type HttpRequestActivityInput = {
17
30
  url: string;
18
31
  baseUrl?: string;
19
32
  method?: HttpMethod;
20
- body?: {
21
- json: Serializable;
22
- } | {
23
- text: string;
24
- } | {
25
- form: HttpRequestActivityInputBodyFormData;
26
- };
33
+ body?: HttpBody;
27
34
  headers?: Record<string, string | string[] | undefined>;
28
35
  retry?: boolean | HttpRequestActivityInputRetryOptions;
29
36
  auth?: HttpAuth | {
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractHttpRequestActivity.d.ts","sourceRoot":"","sources":["../../src/activities/AbstractHttpRequestActivity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractHttpRequestActivity.d.ts","sourceRoot":"","sources":["../../src/activities/AbstractHttpRequestActivity.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,MAAM,EACN,KAAK,YAAY,EAElB,MAAM,qBAAqB,CAAA;AAK5B,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAIhD,MAAM,MAAM,UAAU,GAClB,KAAK,GACL,MAAM,GACN,MAAM,GACN,KAAK,GACL,QAAQ,GACR,SAAS,GACT,SAAS,GACT,OAAO,GACP,OAAO,CAAA;AAEX,MAAM,MAAM,oCAAoC,GAAG;IACjD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,oCAAoC,GAAG;IACjD,CAAC,GAAG,EAAE,MAAM,GACR,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,MAAM,GACN,SAAS,oCAAoC,EAAE,GAC/C,oCAAoC,CAAA;CACzC,CAAA;AAED,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,GAClD;IAAE,IAAI,CAAC,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,GAC5C;IAAE,IAAI,CAAC,EAAE,KAAK,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,oCAAoC,CAAA;CAAE,CAAA;AAE9E,MAAM,MAAM,wBAAwB,GAAG;IACrC,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAA;IACvD,KAAK,CAAC,EAAE,OAAO,GAAG,oCAAoC,CAAA;IACtD,IAAI,CAAC,EAAE,QAAQ,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IACxD,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAA;CACxC,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAA;IACtD,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED,QAAA,MAAM,UAAU,eAAyC,CAAA;AAEzD,8BAAsB,2BAA2B,CAC/C,KAAK,SAAS,SAAS,GAAG,EAAE,EAC5B,MAAM,SAAS,YAAY,EAC3B,mBAAmB,SAAS,YAAY,GAAG,IAAI,EAC/C,OAAO,CACP,SAAQ,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,CAAC;IACjE,OAAO,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAG3B;IAEF,SAAS,CAAC,QAAQ,CAAC,WAAW,CAC5B,KAAK,EAAE,MAAM,GACZ,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAE/D,SAAS,CAAC,QAAQ,CAAC,YAAY,CAC7B,MAAM,EAAE,yBAAyB,GAChC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;WAEjC,MAAM,CACxB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,oCAAoC,EAC3C,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,QAAQ,CAAC;qBA0BG,WAAW,CAChC,KAAK,EAAE,oCAAoC,GAC1C,OAAO,CAAC,QAAQ,CAAC;qBAMG,UAAU,CAAC,IAAI,EAAE,wBAAwB,CAAC,MAAM,CAAC;;;;;;;;;;;;;IAyC3D,GAAG,CAAC,KAAK,EAAE,MAAM;CA0C/B"}
@@ -6,6 +6,7 @@ import { uuidv7 } from 'uuidv7';
6
6
  import { Body } from '../models/Body.js';
7
7
  import { HttpAuth } from '../models/HttpAuth.js';
8
8
  import { HttpClientRequestClaim } from '../models/HttpClientRequestClaim.js';
9
+ import { withDefaultUserAgent } from '../tools/with-default-user-agent.js';
9
10
  const CLAIMS_KEY = Symbol('http-request-activity-claims');
10
11
  export class AbstractHttpRequestActivity extends SyncActivity {
11
12
  [CLAIMS_KEY] = new Claim({
@@ -40,7 +41,7 @@ export class AbstractHttpRequestActivity extends SyncActivity {
40
41
  body: undefined,
41
42
  headers: undefined,
42
43
  };
43
- if ('json' in body) {
44
+ if (body.json !== undefined) {
44
45
  const json = JSON.stringify(body.json);
45
46
  const buffer = Buffer.from(json);
46
47
  return {
@@ -51,7 +52,7 @@ export class AbstractHttpRequestActivity extends SyncActivity {
51
52
  },
52
53
  };
53
54
  }
54
- if ('text' in body) {
55
+ if (body.text !== undefined) {
55
56
  const buffer = Buffer.from(body.text);
56
57
  return {
57
58
  body: buffer,
@@ -61,7 +62,7 @@ export class AbstractHttpRequestActivity extends SyncActivity {
61
62
  },
62
63
  };
63
64
  }
64
- if ('form' in body) {
65
+ if (body.form !== undefined) {
65
66
  const form = await this.getFormData(body.form);
66
67
  return { body: form };
67
68
  }
@@ -82,11 +83,11 @@ export class AbstractHttpRequestActivity extends SyncActivity {
82
83
  body: content?.body,
83
84
  redirect: httpInput.redirect ?? 'follow',
84
85
  retry: httpInput.retry ?? true,
85
- headers: {
86
+ headers: withDefaultUserAgent({
86
87
  ...httpInput.headers,
87
88
  ...content.headers,
88
89
  ...headers,
89
- },
90
+ }),
90
91
  });
91
92
  const contentType = response.headers['content-type'];
92
93
  const ext = typeof contentType === 'string' ? mime.getExtension(contentType) : 'bin';
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractHttpRequestActivity.js","sourceRoot":"","sources":["../../src/activities/AbstractHttpRequestActivity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractHttpRequestActivity.js","sourceRoot":"","sources":["../../src/activities/AbstractHttpRequestActivity.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { HttpAuth } from './HttpAuth.js';
2
- import type { HttpRequestActivityInput } from '../activities/AbstractHttpRequestActivity.js';
2
+ import type { HttpBody, HttpRequestActivityInput } from '../activities/AbstractHttpRequestActivity.js';
3
3
  export interface HttpClientConfig {
4
4
  baseUrl?: string;
5
5
  auth?: HttpAuth | {
@@ -12,10 +12,10 @@ export declare class HttpClient {
12
12
  constructor(config: HttpClientConfig);
13
13
  request(url: string, config?: Omit<HttpRequestActivityInput, 'url' | 'baseUrl'>): Promise<import("./Response.js").Response>;
14
14
  get(url: string, config?: Omit<HttpRequestActivityInput, 'url' | 'baseUrl' | 'method' | 'body'>): Promise<import("./Response.js").Response>;
15
- post(url: string, body: any, config?: Omit<HttpRequestActivityInput, 'url' | 'baseUrl' | 'method' | 'body'>): Promise<import("./Response.js").Response>;
16
- put(url: string, body: any, config?: Omit<HttpRequestActivityInput, 'url' | 'baseUrl' | 'method' | 'body'>): Promise<import("./Response.js").Response>;
15
+ post(url: string, body: HttpBody, config?: Omit<HttpRequestActivityInput, 'url' | 'baseUrl' | 'method' | 'body'>): Promise<import("./Response.js").Response>;
16
+ put(url: string, body: HttpBody, config?: Omit<HttpRequestActivityInput, 'url' | 'baseUrl' | 'method' | 'body'>): Promise<import("./Response.js").Response>;
17
17
  delete(url: string, config?: Omit<HttpRequestActivityInput, 'url' | 'baseUrl' | 'method' | 'body'>): Promise<import("./Response.js").Response>;
18
- patch(url: string, body: any, config?: Omit<HttpRequestActivityInput, 'url' | 'baseUrl' | 'method' | 'body'>): Promise<import("./Response.js").Response>;
18
+ patch(url: string, body: HttpBody, config?: Omit<HttpRequestActivityInput, 'url' | 'baseUrl' | 'method' | 'body'>): Promise<import("./Response.js").Response>;
19
19
  }
20
20
  declare class Http extends HttpClient {
21
21
  extend(config: HttpClientConfig): HttpClient;
@@ -1 +1 @@
1
- {"version":3,"file":"HttpClient.d.ts","sourceRoot":"","sources":["../../src/models/HttpClient.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAA;AAG5F,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,QAAQ,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CACzD;AAID,qBAAa,UAAU;aACO,MAAM,EAAE,gBAAgB;gBAAxB,MAAM,EAAE,gBAAgB;IAE7C,OAAO,CACZ,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,IAAI,CAAC,wBAAwB,EAAE,KAAK,GAAG,SAAS,CAAC;IAUrD,GAAG,CACR,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,IAAI,CACX,wBAAwB,EACxB,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CACtC;IAKI,IAAI,CACT,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,GAAG,EACT,MAAM,CAAC,EAAE,IAAI,CACX,wBAAwB,EACxB,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CACtC;IAKI,GAAG,CACR,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,GAAG,EACT,MAAM,CAAC,EAAE,IAAI,CACX,wBAAwB,EACxB,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CACtC;IAKI,MAAM,CACX,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,IAAI,CACX,wBAAwB,EACxB,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CACtC;IAKI,KAAK,CACV,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,GAAG,EACT,MAAM,CAAC,EAAE,IAAI,CACX,wBAAwB,EACxB,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CACtC;CAIJ;AAED,cAAM,IAAK,SAAQ,UAAU;IACpB,MAAM,CAAC,MAAM,EAAE,gBAAgB;CAGvC;AAED,eAAO,MAAM,IAAI,MAAe,CAAA"}
1
+ {"version":3,"file":"HttpClient.d.ts","sourceRoot":"","sources":["../../src/models/HttpClient.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EACV,QAAQ,EACR,wBAAwB,EACzB,MAAM,8CAA8C,CAAA;AAGrD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,QAAQ,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CACzD;AAID,qBAAa,UAAU;aACO,MAAM,EAAE,gBAAgB;gBAAxB,MAAM,EAAE,gBAAgB;IAE7C,OAAO,CACZ,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,IAAI,CAAC,wBAAwB,EAAE,KAAK,GAAG,SAAS,CAAC;IAUrD,GAAG,CACR,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,IAAI,CACX,wBAAwB,EACxB,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CACtC;IAKI,IAAI,CACT,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,QAAQ,EACd,MAAM,CAAC,EAAE,IAAI,CACX,wBAAwB,EACxB,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CACtC;IAKI,GAAG,CACR,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,QAAQ,EACd,MAAM,CAAC,EAAE,IAAI,CACX,wBAAwB,EACxB,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CACtC;IAKI,MAAM,CACX,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,IAAI,CACX,wBAAwB,EACxB,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CACtC;IAKI,KAAK,CACV,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,QAAQ,EACd,MAAM,CAAC,EAAE,IAAI,CACX,wBAAwB,EACxB,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CACtC;CAIJ;AAED,cAAM,IAAK,SAAQ,UAAU;IACpB,MAAM,CAAC,MAAM,EAAE,gBAAgB;CAGvC;AAED,eAAO,MAAM,IAAI,MAAe,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"HttpClient.js","sourceRoot":"","sources":["../../src/models/HttpClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAI7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAA;AAO1E,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;AAEjD,MAAM,OAAO,UAAU;IACO;IAA5B,YAA4B,MAAwB;QAAxB,WAAM,GAAN,MAAM,CAAkB;IAAG,CAAC;IAEjD,OAAO,CACZ,GAAW,EACX,MAA0D;QAE1D,OAAO,OAAO,CAAC;YACb,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,GAAG,MAAM;YACT,GAAG;YACH,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;SAC7B,CAAC,CAAA;IACJ,CAAC;IAEM,GAAG,CACR,GAAW,EACX,MAGC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IACxD,CAAC;IAEM,IAAI,CACT,GAAW,EACX,IAAS,EACT,MAGC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/D,CAAC;IAEM,GAAG,CACR,GAAW,EACX,IAAS,EACT,MAGC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9D,CAAC;IAEM,MAAM,CACX,GAAW,EACX,MAGC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC3D,CAAC;IAEM,KAAK,CACV,GAAW,EACX,IAAS,EACT,MAGC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IAChE,CAAC;CACF;AAED,MAAM,IAAK,SAAQ,UAAU;IACpB,MAAM,CAAC,MAAwB;QACpC,OAAO,IAAI,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;IACtD,CAAC;CACF;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAA"}
1
+ {"version":3,"file":"HttpClient.js","sourceRoot":"","sources":["../../src/models/HttpClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAO7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAA;AAO1E,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;AAEjD,MAAM,OAAO,UAAU;IACO;IAA5B,YAA4B,MAAwB;QAAxB,WAAM,GAAN,MAAM,CAAkB;IAAG,CAAC;IAEjD,OAAO,CACZ,GAAW,EACX,MAA0D;QAE1D,OAAO,OAAO,CAAC;YACb,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,GAAG,MAAM;YACT,GAAG;YACH,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;SAC7B,CAAC,CAAA;IACJ,CAAC;IAEM,GAAG,CACR,GAAW,EACX,MAGC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IACxD,CAAC;IAEM,IAAI,CACT,GAAW,EACX,IAAc,EACd,MAGC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/D,CAAC;IAEM,GAAG,CACR,GAAW,EACX,IAAc,EACd,MAGC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9D,CAAC;IAEM,MAAM,CACX,GAAW,EACX,MAGC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC3D,CAAC;IAEM,KAAK,CACV,GAAW,EACX,IAAc,EACd,MAGC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IAChE,CAAC;CACF;AAED,MAAM,IAAK,SAAQ,UAAU;IACpB,MAAM,CAAC,MAAwB;QACpC,OAAO,IAAI,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;IACtD,CAAC;CACF;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAA"}
@@ -23,6 +23,8 @@ export declare abstract class OAuth2<TConfig extends OAuth2Config> extends HttpA
23
23
  protected fromSerializable(serializable: PromiseLikeType<TConfig>): void;
24
24
  constructor(config: TConfig);
25
25
  protected abstract toTokenBody(): Record<string, string>;
26
+ private toTokenError;
27
+ private requestToken;
26
28
  protected toToken(): Promise<OAuth2Token>;
27
29
  protected refresh(refreshToken: string): Promise<{
28
30
  expiresAt: number;
@@ -1 +1 @@
1
- {"version":3,"file":"OAuth2.d.ts","sourceRoot":"","sources":["../../src/models/OAuth2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAEjE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAEpE,MAAM,MAAM,WAAW,GAAG;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAMD,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,8BAAsB,MAAM,CAAC,OAAO,SAAS,YAAY,CAAE,SAAQ,QAAQ;aAqB7C,MAAM,EAAE,OAAO;IApB3C,SAAS,CAAC,QAAQ,CAAC,MAAM;;;OAGvB;IAEF,SAAS,KAAK,aAAa,IAAI,MAAM,CAEpC;IAEM,cAAc,IAAI,OAAO;IAIhC,SAAS,CAAC,gBAAgB,CAAC,YAAY,EAAE,eAAe,CAAC,OAAO,CAAC;gBAOrC,MAAM,EAAE,OAAO;IAI3C,SAAS,CAAC,QAAQ,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;cAExC,OAAO;cAqBP,OAAO,CAAC,YAAY,EAAE,MAAM;;sBA/D9B,MAAM;wBACJ,MAAM;oBACV,MAAM;oBACN,MAAM;;cAoFF,QAAQ,CAAC,KAAK,EAAE,WAAW;;sBAvF7B,MAAM;wBACJ,MAAM;oBACV,MAAM;oBACN,MAAM;;cAiGF,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC;IAcnC,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;CAKvD"}
1
+ {"version":3,"file":"OAuth2.d.ts","sourceRoot":"","sources":["../../src/models/OAuth2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAEjE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAGpE,MAAM,MAAM,WAAW,GAAG;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAMD,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAID,8BAAsB,MAAM,CAAC,OAAO,SAAS,YAAY,CAAE,SAAQ,QAAQ;aAqB7C,MAAM,EAAE,OAAO;IApB3C,SAAS,CAAC,QAAQ,CAAC,MAAM;;;OAGvB;IAEF,SAAS,KAAK,aAAa,IAAI,MAAM,CAEpC;IAEM,cAAc,IAAI,OAAO;IAIhC,SAAS,CAAC,gBAAgB,CAAC,YAAY,EAAE,eAAe,CAAC,OAAO,CAAC;gBAOrC,MAAM,EAAE,OAAO;IAI3C,SAAS,CAAC,QAAQ,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAExD,OAAO,CAAC,YAAY;YAON,YAAY;cAsCV,OAAO;cAIP,OAAO,CAAC,YAAY,EAAE,MAAM;;sBA7F9B,MAAM;wBACJ,MAAM;oBACV,MAAM;oBACN,MAAM;;cAmGF,QAAQ,CAAC,KAAK,EAAE,WAAW;;sBAtG7B,MAAM;wBACJ,MAAM;oBACV,MAAM;oBACN,MAAM;;cAgHF,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC;IAcnC,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;CAKvD"}
@@ -2,6 +2,8 @@ import { CacheClaim } from '@t4h.framework/cache';
2
2
  import { Claim } from '@t4h.framework/core';
3
3
  import { HttpAuth } from './HttpAuth.js';
4
4
  import { HttpClientRequestClaim } from './HttpClientRequestClaim.js';
5
+ import { withDefaultUserAgent } from '../tools/with-default-user-agent.js';
6
+ const TOKEN_ERROR_BODY_LIMIT = 512;
5
7
  export class OAuth2 extends HttpAuth {
6
8
  config;
7
9
  claims = new Claim({
@@ -24,39 +26,45 @@ export class OAuth2 extends HttpAuth {
24
26
  super();
25
27
  this.config = config;
26
28
  }
27
- async toToken() {
29
+ toTokenError(reason, body, options) {
30
+ return new Error(`OAuth2 token request to ${this.config.tokenUrl} ${reason}: ${body.slice(0, TOKEN_ERROR_BODY_LIMIT)}`, options);
31
+ }
32
+ async requestToken(body) {
28
33
  const response = await this.claims.http.request({
29
34
  url: new URL(this.config.tokenUrl),
30
35
  method: 'POST',
31
- body: new URLSearchParams(this.toTokenBody()),
36
+ body: new URLSearchParams(body),
32
37
  redirect: 'follow',
33
38
  retry: true,
34
- headers: {
39
+ headers: withDefaultUserAgent({
35
40
  'Content-Type': 'application/x-www-form-urlencoded',
36
- },
41
+ }),
37
42
  });
38
43
  const chunks = await response.body.toArray();
39
- const buffer = Buffer.concat(chunks);
40
- const token = JSON.parse(buffer.toString('utf-8'));
44
+ const text = Buffer.concat(chunks).toString('utf-8');
45
+ if (response.status < 200 || response.status >= 300)
46
+ throw this.toTokenError(`failed with status ${response.status}`, text);
47
+ let token;
48
+ try {
49
+ token = JSON.parse(text);
50
+ }
51
+ catch (cause) {
52
+ throw this.toTokenError('returned a body that is not valid JSON', text, {
53
+ cause,
54
+ });
55
+ }
56
+ if (!token.access_token || !token.token_type)
57
+ throw this.toTokenError('returned a body without access_token or token_type', text);
41
58
  return token;
42
59
  }
60
+ async toToken() {
61
+ return await this.requestToken(this.toTokenBody());
62
+ }
43
63
  async refresh(refreshToken) {
44
- const response = await this.claims.http.request({
45
- url: new URL(this.config.tokenUrl),
46
- method: 'POST',
47
- body: new URLSearchParams({
48
- grant_type: 'refresh_token',
49
- refresh_token: refreshToken,
50
- }),
51
- redirect: 'follow',
52
- retry: true,
53
- headers: {
54
- 'Content-Type': 'application/x-www-form-urlencoded',
55
- },
64
+ const token = await this.requestToken({
65
+ grant_type: 'refresh_token',
66
+ refresh_token: refreshToken,
56
67
  });
57
- const chunks = await response.body.toArray();
58
- const buffer = Buffer.concat(chunks);
59
- const token = JSON.parse(buffer.toString('utf-8'));
60
68
  return await this.setToken(token);
61
69
  }
62
70
  async setToken(token) {
@@ -1 +1 @@
1
- {"version":3,"file":"OAuth2.js","sourceRoot":"","sources":["../../src/models/OAuth2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OAuth2.js","sourceRoot":"","sources":["../../src/models/OAuth2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAwB,MAAM,qBAAqB,CAAA;AAEjE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAkB1E,MAAM,sBAAsB,GAAG,GAAG,CAAA;AAElC,MAAM,OAAgB,MAAqC,SAAQ,QAAQ;IAqB7C;IApBT,MAAM,GAAG,IAAI,KAAK,CAAC;QACpC,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,UAAU;KAClB,CAAC,CAAA;IAEF,IAAc,aAAa;QACzB,OAAO,gBAAgB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;IAC/C,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAES,gBAAgB,CAAC,YAAsC;QAC/D,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE;YACpC,KAAK,EAAE,YAAuB;YAC9B,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAA;IACJ,CAAC;IAED,YAA4B,MAAe;QACzC,KAAK,EAAE,CAAA;QADmB,WAAM,GAAN,MAAM,CAAS;IAE3C,CAAC;IAIO,YAAY,CAAC,MAAc,EAAE,IAAY,EAAE,OAAsB;QACvE,OAAO,IAAI,KAAK,CACd,2BAA2B,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC,EAAE,EACrG,OAAO,CACR,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAA4B;QACrD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YAC9C,GAAG,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAClC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,eAAe,CAAC,IAAI,CAAC;YAC/B,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,oBAAoB,CAAC;gBAC5B,cAAc,EAAE,mCAAmC;aACpD,CAAC;SACH,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;QAE5C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAEpD,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG;YACjD,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAA;QAExE,IAAI,KAAkB,CAAA;QAEtB,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAgB,CAAA;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,YAAY,CAAC,wCAAwC,EAAE,IAAI,EAAE;gBACtE,KAAK;aACN,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,UAAU;YAC1C,MAAM,IAAI,CAAC,YAAY,CACrB,oDAAoD,EACpD,IAAI,CACL,CAAA;QAEH,OAAO,KAAK,CAAA;IACd,CAAC;IAES,KAAK,CAAC,OAAO;QACrB,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;IACpD,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,YAAoB;QAC1C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC;YACpC,UAAU,EAAE,eAAe;YAC3B,aAAa,EAAE,YAAY;SAC5B,CAAC,CAAA;QAEF,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnC,CAAC;IAES,KAAK,CAAC,QAAQ,CAAC,KAAkB;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,GAAG,GAAG,CAAC,CAAA;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;QAExC,MAAM,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,CAAA;QAErC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE;YACrD,GAAG,EAAE,SAAS;SACf,CAAC,CAAA;QAEF,OAAO,KAAK,CAAA;IACd,CAAC;IAES,KAAK,CAAC,QAAQ;QACtB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CACvC,IAAI,CAAC,aAAa,CACnB,CAAA;QAED,IAAI,CAAC,KAAK;YAAE,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;QAE5D,IAAI,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE;YAAE,OAAO,KAAK,CAAA;QAE9C,IAAI,CAAC,KAAK,CAAC,aAAa;YAAE,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;QAE1E,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IAChD,CAAC;IAEM,KAAK,CAAC,sBAAsB;QACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;QAEnC,OAAO,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,YAAY,EAAE,CAAA;IACpD,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ export declare const DEFAULT_USER_AGENT = "@t4h.framework/http";
2
+ export declare function withDefaultUserAgent(headers?: Record<string, string | string[] | undefined>): Record<string, string | string[] | undefined>;
3
+ //# sourceMappingURL=with-default-user-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-default-user-agent.d.ts","sourceRoot":"","sources":["../../src/tools/with-default-user-agent.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,wBAAwB,CAAA;AAEvD,wBAAgB,oBAAoB,CAClC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAM,GAC1D,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAQ/C"}
@@ -0,0 +1,8 @@
1
+ export const DEFAULT_USER_AGENT = '@t4h.framework/http';
2
+ export function withDefaultUserAgent(headers = {}) {
3
+ const hasUserAgent = Object.keys(headers).some(header => header.toLowerCase() === 'user-agent');
4
+ if (hasUserAgent)
5
+ return headers;
6
+ return { 'User-Agent': DEFAULT_USER_AGENT, ...headers };
7
+ }
8
+ //# sourceMappingURL=with-default-user-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-default-user-agent.js","sourceRoot":"","sources":["../../src/tools/with-default-user-agent.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,qBAAqB,CAAA;AAEvD,MAAM,UAAU,oBAAoB,CAClC,UAAyD,EAAE;IAE3D,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAC5C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,YAAY,CAChD,CAAA;IAED,IAAI,YAAY;QAAE,OAAO,OAAO,CAAA;IAEhC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,GAAG,OAAO,EAAE,CAAA;AACzD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@t4h.framework/http",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "HTTP module for the T4H Framework",
5
5
  "homepage": "https://github.com/tech4humans-brasil/framework/tree/main/packages/http",
6
6
  "bugs": "https://github.com/tech4humans-brasil/framework/issues",
@@ -39,8 +39,8 @@
39
39
  },
40
40
  "devDependencies": {
41
41
  "@t4h.framework/cache": "^0.5.0",
42
- "@t4h.framework/core": "^0.8.0",
43
- "@t4h.framework/fs": "^0.5.0",
42
+ "@t4h.framework/core": "^0.9.0",
43
+ "@t4h.framework/fs": "^0.7.0",
44
44
  "@types/type-is": "^1.6.7",
45
45
  "@vitest/coverage-v8": "^4.0.18",
46
46
  "typescript": "^5.9.3",
@@ -48,8 +48,8 @@
48
48
  },
49
49
  "peerDependencies": {
50
50
  "@t4h.framework/cache": "^0.5.0",
51
- "@t4h.framework/core": "^0.8.0",
52
- "@t4h.framework/fs": "^0.5.0"
51
+ "@t4h.framework/core": "^0.9.0",
52
+ "@t4h.framework/fs": "^0.7.0"
53
53
  },
54
54
  "packageManager": "yarn@4.12.0",
55
55
  "engines": {
@@ -1,3 +0,0 @@
1
- import { HttpClientRequestClaim } from '../models/HttpClientRequestClaim.js';
2
- export declare function mockHttpClaim(implementation?: Partial<HttpClientRequestClaim>): import("@t4h.framework/core").ClaimProvider<HttpClientRequestClaim>;
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,sBAAsB,EAEvB,MAAM,qCAAqC,CAAA;AAE5C,wBAAgB,aAAa,CAC3B,cAAc,GAAE,OAAO,CAAC,sBAAsB,CAAM,uEAYrD"}
@@ -1,15 +0,0 @@
1
- import { Readable } from 'node:stream';
2
- import { mockClaim } from '@t4h.framework/core/testing';
3
- import { HttpClientRequestClaim, } from '../models/HttpClientRequestClaim.js';
4
- export function mockHttpClaim(implementation = {}) {
5
- const defaultResponse = {
6
- status: 200,
7
- headers: { 'content-type': 'application/json' },
8
- body: Readable.from(Buffer.from('{}')),
9
- };
10
- return mockClaim(HttpClientRequestClaim, {
11
- request: async () => defaultResponse,
12
- ...implementation,
13
- });
14
- }
15
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAEvD,OAAO,EACL,sBAAsB,GAEvB,MAAM,qCAAqC,CAAA;AAE5C,MAAM,UAAU,aAAa,CAC3B,iBAAkD,EAAE;IAEpD,MAAM,eAAe,GAAiC;QACpD,MAAM,EAAE,GAAG;QACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACvC,CAAA;IAED,OAAO,SAAS,CAAC,sBAAsB,EAAE;QACvC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,eAAe;QACpC,GAAG,cAAc;KAClB,CAAC,CAAA;AACJ,CAAC"}