Skip to content

Commit

Permalink
fix: Format codebase
Browse files Browse the repository at this point in the history
  • Loading branch information
andertun committed Jan 15, 2024
1 parent 3c1f769 commit bc89a2d
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 29 deletions.
1 change: 0 additions & 1 deletion .github/workflows/check-license.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,3 @@ jobs:
holder: 'Kapeta Inc.'
license: 'MIT'
sources: '*.ts'

62 changes: 34 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This provides a REST client for use with Kapeta.

It wraps the NodeJS ```fetch``` API and provides a simple interface for making requests within Kapeta.
It wraps the NodeJS `fetch` API and provides a simple interface for making requests within Kapeta.

The specific REST clients are generated by Kapeta and will extend the RestClient class in this package.

Expand All @@ -14,69 +14,75 @@ They will however all have the same interface which is documented here.

### Making requests

Normally you will make a request by calling the generated method on the client - however you can also make a request directly by calling
the ```$create``` or ```$execute``` method on the client directly.
Normally you will make a request by calling the generated method on the client - however you can also make a request directly by calling the `$create` or `$execute` method on the client directly.

```client.$create``` will return a Request object which you can then modify before sending it with ```request.call()```.

```client.$execute``` will send the request immediately.

`client.$create` will return a Request object which you can then modify before sending it with `request.call()`.

`client.$execute` will send the request immediately.

### Headers

You can configure headers on 3 levels which you can see below.

In addition to the withHeader method there are also a few convenience methods for common headers:
- ```withContentType(contentType:string)```: Sets the Content-Type header
- ```withAuthorization(authorization:string)```: Sets the Authorization header
- ```withBearerToken(token:string)```: Sets the Authorization header with a Bearer token

- `withContentType(contentType:string)`: Sets the Content-Type header
- `withAuthorization(authorization:string)`: Sets the Authorization header
- `withBearerToken(token:string)`: Sets the Authorization header with a Bearer token

#### Per request

Sets headers for this request only

```typescript
const response = await client.someMethodRequest()
.withHeader('X-Some-Header','some-value')
.call();
const response = await client.someMethodRequest().withHeader('X-Some-Header', 'some-value').call();
```

#### Per client
Sets headers for all requests made by this client.

**Note** the "$" in front of the method name.
This is to avoid name collisions with the generated methods.
Sets headers for all requests made by this client.

**Note** the "$" in front of the method name. This is to avoid name collisions with the generated methods.

```typescript
const client = new SomeClient().$withHeader('X-Some-Header','some-value');
const client = new SomeClient().$withHeader('X-Some-Header', 'some-value');
const response = await client.someMethod();
```

#### Globally:

Sets headers for all requests made by all clients

```typescript
RestClient.setDefaultHeader('X-Some-Header','some-value');
RestClient.setDefaultHeader('X-Some-Header', 'some-value');
const client = new SomeClient();
const response = await client.someMethod();
```

### Timeouts

To configure the request timeout you have an option to do so on 3 levels:

#### Per request

```typescript
const response = await client.someMethodRequest()
.withTimeout(1000) // Set timeout to 1 second
.call();
const response = await client
.someMethodRequest()
.withTimeout(1000) // Set timeout to 1 second
.call();
```

#### Per client

```typescript
const client = new SomeClient().$withTimeout(1000) // Set timeout to 1 second
const client = new SomeClient().$withTimeout(1000); // Set timeout to 1 second
const response = await client.someMethod();
```
#### Globally:

#### Globally:

```typescript
RestClient.setDefaultTimeout(1000) // Set timeout to 1 second
RestClient.setDefaultTimeout(1000); // Set timeout to 1 second
const client = new SomeClient();
const response = await client.someMethod();
```




0 comments on commit bc89a2d

Please sign in to comment.