MambaScriptMambaScript

Servidor HTTP

Cria servidores e APIs REST com MambaScript.

ms
importar http de "http"

variavel minhaFuncao = funcao(requisicao, resposta):
    se requisicao.url == "/":
        resposta.json(200, {"mensagem": "Bem-vindo!"})
    senao:
        resposta.json(404, {"erro": "Rota não encontrada"})
    fim
fim

variavel servidor = http.criarServidor()
servidor.aoReceber(minhaFuncao)
servidor.escutar(3000)
escreva "Servidor rodando na porta 3000!"

Objecto requisicao

PropriedadeDescrição
urlCaminho da rota (ex: /api/usuarios)
metodoMétodo HTTP (GET, POST, etc.)
corpoCorpo da requisição (JSON ou texto)
paramsQuery parameters (?id=1&nome=Elio)
cabecalhosHeaders da requisição

Objecto resposta

MétodoDescrição
enviar(status, conteudo)Envia texto ou JSON automaticamente
json(status, conteudo)Envia resposta JSON explícita
cabecalho(chave, valor)Define um header na resposta
redirecionar(url)Redireciona para outra URL

API REST completa

ms
importar http de "http"

variavel handler = funcao(requisicao, resposta):
    variavel rota = requisicao.url

    resposta.cabecalho("X-Powered-By", "MambaScript")
    resposta.cabecalho("Access-Control-Allow-Origin", "*")

    se rota == "/":
        resposta.json(200, {
            "mensagem": "API MambaScript",
            "versao": "1.0",
            "status": "online"
        })
    senao:
        se rota == "/api/usuario":
            variavel nome = requisicao.params.nome
            resposta.json(200, {
                "nome": nome,
                "linguagem": "MambaScript"
            })
        senao:
            resposta.json(404, {
                "erro": "Rota não encontrada",
                "rota": rota
            })
        fim
    fim
fim

variavel servidor = http.criarServidor()
servidor.aoReceber(handler)
servidor.escutar(3000)
escreva "API rodando na porta 3000!"