M MY Multiplayer: Wiki
Lado
Tipo

fetchRemote

Servidor

Hace una petición HTTP o HTTPS y entrega la respuesta a una función cuando llega.

bool|string, table fetchRemote(string url, function callback, any ... [, table options = nil])

Parámetros

NombreTipoDescripción
urlstringLa dirección, empezando por http:// o https://. Otro comienzo genera un error.
optionstableTabla opcional: method (GET, POST, PUT, PATCH, DELETE o HEAD; con postData y sin método, POST), headers (nombre → valor), postData (el cuerpo enviado) y connectTimeout (en ms, de 1000 a 60000, 10000 si falta). Un método desconocido genera un error.por defecto nil
callbackfunctionSe llama con el cuerpo de la respuesta, la tabla info y los argumentos extra.
...anyArgumentos pasados a callback después de info.

Retorno

true si la petición se envió. Dentro de async.thread y sin callback, la función espera la respuesta y devuelve el cuerpo y la tabla info.

info tiene success (true cuando el estado es 2xx), statusCode, headers (nombre → valor) y, si la petición falló, error. Cuando el recurso se detiene, las respuestas que aún no llegaron se descartan.

Ejemplo

local options = {
    method = "POST",
    headers = { ["Content-Type"] = "application/json" },
    postData = toJSON({ event = "server_started" }),
}

fetchRemote("https://example.com/api/events", options, function(body, info)
    if not info.success then
        outputDebugString("la solicitud falló: " .. (info.error or info.statusCode))
    end
end)
Si vienes de MTADe las opciones de MTA, solo se leen method, headers, postData y connectTimeout. Dentro de async.thread, callback puede omitirse y la llamada espera la respuesta.

Ver también