{
  "api": {
    "name": "HttpLocalServerPlugin",
    "slug": "httplocalserverplugin",
    "docs": "Plugin para manejar un servidor HTTP local en dispositivos nativos",
    "tags": [],
    "methods": [
      {
        "name": "connect",
        "signature": "() => Promise<HttpConnectResult>",
        "parameters": [],
        "returns": "Promise<HttpConnectResult>",
        "tags": [
          {
            "name": "returns",
            "text": "Promesa con la IP y puerto del servidor"
          },
          {
            "name": "throws",
            "text": "Error si el servidor no puede iniciarse"
          }
        ],
        "docs": "Inicia el servidor local en el dispositivo nativo.\nDevuelve la IP y el puerto asignado.",
        "complexTypes": [
          "HttpConnectResult"
        ],
        "slug": "connect"
      },
      {
        "name": "disconnect",
        "signature": "() => Promise<void>",
        "parameters": [],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "returns",
            "text": "Promesa que se resuelve cuando el servidor se detiene"
          }
        ],
        "docs": "Detiene el servidor local y limpia todos los recursos.",
        "complexTypes": [],
        "slug": "disconnect"
      },
      {
        "name": "sendResponse",
        "signature": "(options: HttpSendResponseOptions) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "- Objeto con requestId y body de la respuesta",
            "type": "HttpSendResponseOptions"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "options - Objeto con requestId y body de la respuesta"
          },
          {
            "name": "returns",
            "text": "Promesa que se resuelve cuando la respuesta se envía"
          },
          {
            "name": "throws",
            "text": "Error si faltan requestId o body"
          }
        ],
        "docs": "Envía la respuesta de vuelta al cliente que hizo la petición.\nEl requestId debe coincidir con el recibido en 'onRequest'.",
        "complexTypes": [
          "HttpSendResponseOptions"
        ],
        "slug": "sendresponse"
      },
      {
        "name": "addListener",
        "signature": "(eventName: 'onRequest', listenerFunc: (data: HttpRequestData) => void) => Promise<PluginListenerHandle>",
        "parameters": [
          {
            "name": "eventName",
            "docs": "- Debe ser 'onRequest'",
            "type": "'onRequest'"
          },
          {
            "name": "listenerFunc",
            "docs": "- Callback que recibe los datos de la petición",
            "type": "(data: HttpRequestData) => void"
          }
        ],
        "returns": "Promise<PluginListenerHandle>",
        "tags": [
          {
            "name": "param",
            "text": "eventName - Debe ser 'onRequest'"
          },
          {
            "name": "param",
            "text": "listenerFunc - Callback que recibe los datos de la petición"
          },
          {
            "name": "returns",
            "text": "Handle para remover el listener"
          }
        ],
        "docs": "Escucha las peticiones HTTP entrantes.",
        "complexTypes": [
          "PluginListenerHandle",
          "HttpRequestData"
        ],
        "slug": "addlisteneronrequest-"
      },
      {
        "name": "removeAllListeners",
        "signature": "() => Promise<void>",
        "parameters": [],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "returns",
            "text": "Promesa que se resuelve cuando se eliminan los listeners"
          }
        ],
        "docs": "Elimina todos los listeners registrados.",
        "complexTypes": [],
        "slug": "removealllisteners"
      }
    ],
    "properties": []
  },
  "interfaces": [
    {
      "name": "HttpConnectResult",
      "slug": "httpconnectresult",
      "docs": "Resultado de la conexión del servidor",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "ip",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "port",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        }
      ]
    },
    {
      "name": "HttpSendResponseOptions",
      "slug": "httpsendresponseoptions",
      "docs": "Opciones para enviar una respuesta",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "requestId",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "body",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "PluginListenerHandle",
      "slug": "pluginlistenerhandle",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "remove",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "() => Promise<void>"
        }
      ]
    },
    {
      "name": "HttpRequestData",
      "slug": "httprequestdata",
      "docs": "Datos de una petición HTTP entrante",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "requestId",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "method",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "path",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "body",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "headers",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Record"
          ],
          "type": "Record<string, string>"
        },
        {
          "name": "query",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Record"
          ],
          "type": "Record<string, string>"
        }
      ]
    }
  ],
  "enums": [],
  "typeAliases": [
    {
      "name": "Record",
      "slug": "record",
      "docs": "Construct a type with a set of properties K of type T",
      "types": [
        {
          "text": "{\r\n    [P in K]: T;\r\n}",
          "complexTypes": [
            "K",
            "T"
          ]
        }
      ]
    }
  ],
  "pluginConfigs": []
}