docs/content/reference/api/extensions-sdk/BackendV0.md

310 lines
6.1 KiB
Markdown

---
title: "Interface: BackendV0"
description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/BackendV0/
- /extensions/extensions-sdk/dev/api/reference/interfaces/BackendV0/
---
## Container Methods
### execInContainer
**execInContainer**(`container`, `cmd`): `Promise`<[`ExecResultV0`](ExecResultV0.md)\>
Executes a command inside a container.
```typescript
const output = await window.ddClient.backend.execInContainer(container, cmd);
console.log(output);
```
> [!WARNING]
>
> It will be removed in a future version.
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `container` | `string` | - |
| `cmd` | `string` | The command to be executed. |
#### Returns
`Promise`<[`ExecResultV0`](ExecResultV0.md)\>
___
## HTTP Methods
### get
**get**(`url`): `Promise`<`unknown`\>
Performs an HTTP GET request to a backend service.
```typescript
window.ddClient.backend
.get("/some/service")
.then((value: any) => console.log(value));
```
> [!WARNING]
>
> It will be removed in a future version. Use [get](HttpService.md#get) instead.
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `url` | `string` | The URL of the backend service. |
#### Returns
`Promise`<`unknown`\>
___
### post
**post**(`url`, `data`): `Promise`<`unknown`\>
Performs an HTTP POST request to a backend service.
```typescript
window.ddClient.backend
.post("/some/service", { ... })
.then((value: any) => console.log(value));
```
> [!WARNING]
>
> It will be removed in a future version. Use [post](HttpService.md#post) instead.
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `url` | `string` | The URL of the backend service. |
| `data` | `any` | The body of the request. |
#### Returns
`Promise`<`unknown`\>
___
### put
**put**(`url`, `data`): `Promise`<`unknown`\>
Performs an HTTP PUT request to a backend service.
```typescript
window.ddClient.backend
.put("/some/service", { ... })
.then((value: any) => console.log(value));
```
> [!WARNING]
>
> It will be removed in a future version. Use [put](HttpService.md#put) instead.
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `url` | `string` | The URL of the backend service. |
| `data` | `any` | The body of the request. |
#### Returns
`Promise`<`unknown`\>
___
### patch
**patch**(`url`, `data`): `Promise`<`unknown`\>
Performs an HTTP PATCH request to a backend service.
```typescript
window.ddClient.backend
.patch("/some/service", { ... })
.then((value: any) => console.log(value));
```
> [!WARNING]
>
> It will be removed in a future version. Use [patch](HttpService.md#patch) instead.
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `url` | `string` | The URL of the backend service. |
| `data` | `any` | The body of the request. |
#### Returns
`Promise`<`unknown`\>
___
### delete
**delete**(`url`): `Promise`<`unknown`\>
Performs an HTTP DELETE request to a backend service.
```typescript
window.ddClient.backend
.delete("/some/service")
.then((value: any) => console.log(value));
```
> [!WARNING]
>
> It will be removed in a future version. Use [delete](HttpService.md#delete) instead.
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `url` | `string` | The URL of the backend service. |
#### Returns
`Promise`<`unknown`\>
___
### head
**head**(`url`): `Promise`<`unknown`\>
Performs an HTTP HEAD request to a backend service.
```typescript
window.ddClient.backend
.head("/some/service")
.then((value: any) => console.log(value));
```
> [!WARNING]
>
> It will be removed in a future version. Use [head](HttpService.md#head) instead.
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `url` | `string` | The URL of the backend service. |
#### Returns
`Promise`<`unknown`\>
___
### request
**request**(`config`): `Promise`<`unknown`\>
Performs an HTTP request to a backend service.
```typescript
window.ddClient.backend
.request({ url: "/url", method: "GET", headers: { 'header-key': 'header-value' }, data: { ... }})
.then((value: any) => console.log(value));
```
> [!WARNING]
>
> It will be removed in a future version. Use [request](HttpService.md#request) instead.
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `config` | [`RequestConfigV0`](RequestConfigV0.md) | The URL of the backend service. |
#### Returns
`Promise`<`unknown`\>
___
## VM Methods
### execInVMExtension
**execInVMExtension**(`cmd`): `Promise`<[`ExecResultV0`](ExecResultV0.md)\>
Executes a command inside the backend container.
If your extensions ships with additional binaries that should be run inside the backend container you can use the `execInVMExtension` function.
```typescript
const output = await window.ddClient.backend.execInVMExtension(
`cliShippedInTheVm xxx`
);
console.log(output);
```
> [!WARNING]
>
> It will be removed in a future version. Use [exec](ExtensionCli.md#exec) instead.
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `cmd` | `string` | The command to be executed. |
#### Returns
`Promise`<[`ExecResultV0`](ExecResultV0.md)\>
___
### spawnInVMExtension
**spawnInVMExtension**(`cmd`, `args`, `callback`): `void`
Returns a stream from the command executed in the backend container.
```typescript
window.ddClient.spawnInVMExtension(
`cmd`,
[`arg1`, `arg2`],
(data: any, err: any) => {
console.log(data.stdout, data.stderr);
// Once the command exits we get the status code
if (data.code) {
console.log(data.code);
}
}
);
```
> [!WARNING]
>
> It will be removed in a future version.
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `cmd` | `string` | The command to be executed. |
| `args` | `string`[] | The arguments of the command to execute. |
| `callback` | (`data`: `any`, `error`: `any`) => `void` | The callback function where to listen from the command output data and errors. |
#### Returns
`void`