58 lines
1.7 KiB
C++
58 lines
1.7 KiB
C++
#include "http.h"
|
|
|
|
#include "audio.h"
|
|
#include "ESPAsyncWebServer.h"
|
|
#include "player.h"
|
|
|
|
AsyncWebServer server(80);
|
|
|
|
void httpSetup() {
|
|
Serial.println("Starting HTTP server");
|
|
DefaultHeaders::Instance().addHeader("Access-Control-Allow-Origin", "*");
|
|
server.onNotFound([](AsyncWebServerRequest *request) {
|
|
const auto path = request->url();
|
|
if (path.endsWith("/") && path.length() > 1) {
|
|
request->redirect(path.substring(0, path.length() - 1));
|
|
} else {
|
|
request->send(404, "text/plain", "Not Found");
|
|
}
|
|
});
|
|
server.on("/player/stop", [](AsyncWebServerRequest *request) {
|
|
playerState = PLAYER_STOP;
|
|
request->send(200);
|
|
});
|
|
server.on("/player/play", [](AsyncWebServerRequest *request) {
|
|
playerState = PLAYER_PLAY;
|
|
request->send(200);
|
|
});
|
|
server.on("/player/pause", [](AsyncWebServerRequest *request) {
|
|
playerState = PLAYER_PAUSE;
|
|
request->send(200);
|
|
});
|
|
server.on("/player/mute", [](AsyncWebServerRequest *request) {
|
|
audioMute = true;
|
|
request->send(200);
|
|
});
|
|
server.on("/player/unmute", [](AsyncWebServerRequest *request) {
|
|
audioMute = false;
|
|
request->send(200);
|
|
});
|
|
server.on("/player/up", [](AsyncWebServerRequest *request) {
|
|
audioVolume = max(0.0f, min(audioVolume + 0.05f, 1.0f));
|
|
request->send(200);
|
|
});
|
|
server.on("/player/down", [](AsyncWebServerRequest *request) {
|
|
audioVolume = max(0.0f, min(audioVolume - 0.05f, 1.0f));
|
|
request->send(200);
|
|
});
|
|
server.on("/player/next", [](AsyncWebServerRequest *request) {
|
|
playerSkip += 1;
|
|
request->send(200);
|
|
});
|
|
server.on("/player/back", [](AsyncWebServerRequest *request) {
|
|
playerSkip -= 1;
|
|
request->send(200);
|
|
});
|
|
server.begin();
|
|
}
|