# Interfaz: BackendV0


## Métodos de contenedor

### execInContainer

▸ **execInContainer**(`container`, `cmd`): `Promise`<[`ExecResultV0`](/reference/api/extensions-sdk/BackendV0/ExecResultV0/)\>

Ejecuta un comando dentro de un contenedor.

```typescript
const output = await window.ddClient.backend.execInContainer(container, cmd);

console.log(output);
```

> [!WARNING]
>
> Se eliminará en una versión futura.

#### Parámetros

| Nombre      | Tipo     | Descripción            |
| :---------- | :------- | :--------------------- |
| `container` | `string` | -                      |
| `cmd`       | `string` | El comando a ejecutar. |

#### Devuelve

`Promise`<[`ExecResultV0`](/reference/api/extensions-sdk/BackendV0/ExecResultV0/)\>

---

## Métodos HTTP

### get

▸ **get**(`url`): `Promise`<`unknown`\>

Realiza una solicitud HTTP GET a un servicio de backend.

```typescript
window.ddClient.backend
  .get("/some/service")
  .then((value: any) => console.log(value));
```

> [!WARNING]
>
> Se eliminará en una versión futura. Usa [get](/reference/api/extensions-sdk/BackendV0/HttpService/#get) en su lugar.

#### Parámetros

| Nombre | Tipo     | Descripción                     |
| :----- | :------- | :------------------------------ |
| `url`  | `string` | La URL del servicio de backend. |

#### Devuelve

`Promise`<`unknown`\>

---

### post

▸ **post**(`url`, `data`): `Promise`<`unknown`\>

Realiza una solicitud HTTP POST a un servicio de backend.

```typescript
window.ddClient.backend
 .post("/some/service", { ... })
 .then((value: any) => console.log(value));
```

> [!WARNING]
>
> Se eliminará en una versión futura. Usa [post](/reference/api/extensions-sdk/BackendV0/HttpService/#post) en su lugar.

#### Parámetros

| Nombre | Tipo     | Descripción                     |
| :----- | :------- | :------------------------------ |
| `url`  | `string` | La URL del servicio de backend. |
| `data` | `any`    | El cuerpo de la solicitud.      |

#### Devuelve

`Promise`<`unknown`\>

---

### put

▸ **put**(`url`, `data`): `Promise`<`unknown`\>

Realiza una solicitud HTTP PUT a un servicio de backend.

```typescript
window.ddClient.backend
 .put("/some/service", { ... })
 .then((value: any) => console.log(value));
```

> [!WARNING]
>
> Se eliminará en una versión futura. Usa [put](/reference/api/extensions-sdk/BackendV0/HttpService/#put) en su lugar.

#### Parámetros

| Nombre | Tipo     | Descripción                     |
| :----- | :------- | :------------------------------ |
| `url`  | `string` | La URL del servicio de backend. |
| `data` | `any`    | El cuerpo de la solicitud.      |

#### Devuelve

`Promise`<`unknown`\>

---

### patch

▸ **patch**(`url`, `data`): `Promise`<`unknown`\>

Realiza una solicitud HTTP PATCH a un servicio de backend.

```typescript
window.ddClient.backend
 .patch("/some/service", { ... })
 .then((value: any) => console.log(value));
```

> [!WARNING]
>
> Se eliminará en una versión futura. Usa [patch](/reference/api/extensions-sdk/BackendV0/HttpService/#patch) en su lugar.

#### Parámetros

| Nombre | Tipo     | Descripción                     |
| :----- | :------- | :------------------------------ |
| `url`  | `string` | La URL del servicio de backend. |
| `data` | `any`    | El cuerpo de la solicitud.      |

#### Devuelve

`Promise`<`unknown`\>

---

### delete

▸ **delete**(`url`): `Promise`<`unknown`\>

Realiza una solicitud HTTP DELETE a un servicio de backend.

```typescript
window.ddClient.backend
  .delete("/some/service")
  .then((value: any) => console.log(value));
```

> [!WARNING]
>
> Se eliminará en una versión futura. Usa [delete](/reference/api/extensions-sdk/BackendV0/HttpService/#delete) en su lugar.

#### Parámetros

| Nombre | Tipo     | Descripción                     |
| :----- | :------- | :------------------------------ |
| `url`  | `string` | La URL del servicio de backend. |

#### Devuelve

`Promise`<`unknown`\>

---

### head

▸ **head**(`url`): `Promise`<`unknown`\>

Realiza una solicitud HTTP HEAD a un servicio de backend.

```typescript
window.ddClient.backend
  .head("/some/service")
  .then((value: any) => console.log(value));
```

> [!WARNING]
>
> Se eliminará en una versión futura. Usa [head](/reference/api/extensions-sdk/BackendV0/HttpService/#head) en su lugar.

#### Parámetros

| Nombre | Tipo     | Descripción                     |
| :----- | :------- | :------------------------------ |
| `url`  | `string` | La URL del servicio de backend. |

#### Devuelve

`Promise`<`unknown`\>

---

### request

▸ **request**(`config`): `Promise`<`unknown`\>

Realiza una solicitud HTTP a un servicio de backend.

```typescript
window.ddClient.backend
 .request({ url: "/url", method: "GET", headers: { 'header-key': 'header-value' }, data: { ... }})
 .then((value: any) => console.log(value));
```

> [!WARNING]
>
> Se eliminará en una versión futura. Usa [request](/reference/api/extensions-sdk/BackendV0/HttpService/#request) en su lugar.

#### Parámetros

| Nombre   | Tipo                                    | Descripción                     |
| :------- | :-------------------------------------- | :------------------------------ |
| `config` | [`RequestConfigV0`](/reference/api/extensions-sdk/BackendV0/RequestConfigV0/) | La URL del servicio de backend. |

#### Devuelve

`Promise`<`unknown`\>

---

## Métodos de la máquina virtual (VM)

### execInVMExtension

▸ **execInVMExtension**(`cmd`): `Promise`<[`ExecResultV0`](/reference/api/extensions-sdk/BackendV0/ExecResultV0/)\>

Ejecuta un comando dentro del contenedor del backend.
Si tu extensión incluye binarios adicionales que deben ejecutarse dentro del contenedor del backend, puedes usar la función `execInVMExtension`.

```typescript
const output = await window.ddClient.backend.execInVMExtension(
  `cliShippedInTheVm xxx`,
);

console.log(output);
```

> [!WARNING]
>
> Se eliminará en una versión futura. Usa [exec](/reference/api/extensions-sdk/BackendV0/ExtensionCli/#exec) en su lugar.

#### Parámetros

| Nombre | Tipo     | Descripción            |
| :----- | :------- | :--------------------- |
| `cmd`  | `string` | El comando a ejecutar. |

#### Devuelve

`Promise`<[`ExecResultV0`](/reference/api/extensions-sdk/BackendV0/ExecResultV0/)\>

---

### spawnInVMExtension

▸ **spawnInVMExtension**(`cmd`, `args`, `callback`): `void`

Devuelve un flujo (stream) del comando ejecutado en el contenedor del backend.

```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]
>
> Se eliminará en una versión futura.

#### Parámetros

| Nombre     | Tipo                                      | Descripción                                                                         |
| :--------- | :---------------------------------------- | :---------------------------------------------------------------------------------- |
| `cmd`      | `string`                                  | El comando a ejecutar.                                                              |
| `args`     | `string`[]                                | Los argumentos del comando a ejecutar.                                              |
| `callback` | (`data`: `any`, `error`: `any`) => `void` | La función de callback para escuchar los datos de salida del comando y los errores. |

#### Devuelve

`void`

