//配置请求头
void configSendHeader() {
  if (isCache()) {
    webServer.sendHeader("Cache-Control", "max-age=691200, must-revalidate");
  } else {
    webServer.sendHeader("Cache-Control", "no-cache, no-store, must-revalidate");
  }
}

// 请求错误返回
void replyServerError(String msg) {
  webServer.send(500, FPSTR(TEXT_PLAIN), msg + "\r\n");
}

// 没有找到资源
void replyServerNotFound(String msg) {
  Serial.println("File Not Found " + msg);
  webServer.send(404, FPSTR(TEXT_PLAIN), "File Not Found: " + msg);
}

// 返回code
void replyServerCode(int code) {
  // 空内容会禁止Content-length标头,所以需要停止,因为我们没有发送内容长度
  webServer.send(code);
  webServer.client().stop();
}

// 获取首页地址
String getHomeUrl() {
  EEPROM.get(homeUrlStartAddr, homeUrl);
  if (homeUrl[0] == 0) {
    strcpy(homeUrl, "/index.html");
  }
  return homeUrl;
}

// 是否打开缓存
bool isCache() {
  uint8_t v = EEPROM.read(changeAddr);
  return v != 0;
}

// 当前请求是否在host
bool isHost() {
  String hh = webServer.hostHeader();
  if (hh == apIP.toString() || hh == WiFi.localIP().toString() ||
      hh == (String(myHostname) + ".com") || hh == (String(myHostname) + ".local")) {
    return true;
  }
  Serial.println(webServer.uri() + " 重定向host");
  webServer.sendHeader("Location", "http://" + webServer.client().localIP().toString(), true);
  replyServerCode(302);
  return false;
}

//获取EEPROM中的数据
void getEEPROM() {
  EEPROM.get(ssidAddr, ssid);
  EEPROM.get(pwdAddr, password);
  progress = EEPROM.read(progressAddr);
}