Pages: [1]   Go Down
Author Topic: Webduino e Authorization non richiesta  (Read 400 times)
0 Members and 1 Guest are viewing this topic.
Firenze
Offline Offline
Jr. Member
**
Karma: 2
Posts: 65
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salve a tutti,

penso possiate aiutarmi, sto usando webduino su un Arduino UNO + Ethernet Shield e sto andando incontro ad un problema di autorizzazioni, quando richiamo la funzione di default va tutto bene, quando provo a richiamare la funzione che rende una stringa json mi risponde UNAUTHORIZED, vi posto il codice:
questa e' la dichiarazione delle variabili:
Code:
P(Page_start) = "<html><head><title>Arduino Mattia 1.0</title></head><body>\n";
P(Page_end) = "</body></html>";
P(Get_head) = "<h1>GET from ";
P(Post_head) = "<h1>POST to ";
P(Unknown_head) = "<h1>UNKNOWN request for ";
P(Default_head) = "unidentified URL requested.</h1><br>\n";
P(Raw_head) = "raw.html requested.</h1><br>\n";
P(Parsed_head) = "parsed.html requested.</h1><br>\n";
P(Good_tail_begin) = "URL tail = '";
P(Bad_tail_begin) = "INCOMPLETE URL tail = '";
P(Tail_end) = "'<br>\n";
P(Parsed_tail_begin) = "URL parameters:<br>\n";
P(Parsed_item_separator) = " = '";
P(Params_end) = "End of parameters<br>\n";
P(Post_params_begin) = "Parameters sent by POST:<br>\n";
P(Line_break) = "<br>\n";

questa e' la funzione da default:
Code:
void helloCmd(WebServer &server, WebServer::ConnectionType type, char *url_tail, bool tail_complete)
{
  server.httpSuccess();
  if (type == WebServer::HEAD)
    return;

  server.printP(Page_start);
  switch (type)
    {
    case WebServer::GET:
        server.printP(Get_head);
        break;
    case WebServer::POST:
        server.printP(Post_head);
        break;
    default:
        server.printP(Unknown_head);
    }

    server.printP(Default_head);
    server.printP(tail_complete ? Good_tail_begin : Bad_tail_begin);
    server.print(url_tail);
    server.printP(Tail_end);
    server.printP(Page_end);
}

e questa la funzione che mi restituisce il messaggio UNAUTHORIZED:
Code:
void sendJsonStatusString(WebServer &server, WebServer::ConnectionType type, char *url_tail, bool tail_complete)
{
  if (type == WebServer::POST)
  {
    server.httpFail();
    return;
  }

  server.httpSuccess(false, "application/json");
  if (type == WebServer::HEAD)
    return;

  if (type == WebServer::GET)
    server.printP("pippooooo");
    //server.printP(createJsonStatusString());
}

la gestione del server e delle chiamate e' questa:
Code:
void setup() {
  Ethernet.begin(mac, ip);
  webServer.setDefaultCommand(&helloCmd);
  webServer.addCommand("jsonStatus", &sendJsonStatusString);
  webServer.begin();
}

La versione di Webduino che ho scaricato contiene anche due nuovi metodi per l'autenticazione (httpUnauthorized() e checkCredentials()) ma io non li uso!!

Potete aiutarmi?
Logged

"Cosi non si va avanti..." disse il gambero

Pages: [1]   Go Up
Jump to: