8 changed files with 78 additions and 302 deletions
-
7include/http/response.h
-
91src/application/adapter/http/update.c
-
6src/http/Makefile.am
-
14src/http/response/json.c
-
62src/http/response/login_form.c
-
66src/http/response/randval.c
-
67src/http/response/session.c
-
67src/http/response/user.c
@ -1,62 +0,0 @@ |
|||||
/** |
|
||||
* \file |
|
||||
* |
|
||||
* \author Georg Hopp |
|
||||
* |
|
||||
* \copyright |
|
||||
* Copyright © 2012 Georg Hopp |
|
||||
* |
|
||||
* This program is free software: you can redistribute it and/or modify |
|
||||
* it under the terms of the GNU General Public License as published by |
|
||||
* the Free Software Foundation, either version 3 of the License, or |
|
||||
* (at your option) any later version. |
|
||||
* |
|
||||
* This program is distributed in the hope that it will be useful, |
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
||||
* GNU General Public License for more details. |
|
||||
* |
|
||||
* You should have received a copy of the GNU General Public License |
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
||||
*/ |
|
||||
|
|
||||
#include <stdlib.h> |
|
||||
#include <string.h> |
|
||||
#include <stdio.h> |
|
||||
#include <time.h> |
|
||||
#include <sys/types.h> |
|
||||
|
|
||||
#include "class.h" |
|
||||
|
|
||||
#include "http/response.h" |
|
||||
#include "http/message.h" |
|
||||
#include "http/header.h" |
|
||||
|
|
||||
#include "utils/memory.h" |
|
||||
#include "hash.h" |
|
||||
|
|
||||
#define RESP_DATA "<form action=\"/me/\" method=\"POST\">" \ |
|
||||
"<input name=\"username\" type=\"text\" />" \ |
|
||||
"<input type=\"submit\">" \ |
|
||||
"</form>" |
|
||||
|
|
||||
HttpResponse |
|
||||
httpResponseLoginForm() |
|
||||
{ |
|
||||
HttpResponse response; |
|
||||
HttpMessage message; |
|
||||
|
|
||||
response = new(HttpResponse, "HTTP/1.1", 200, "OK"); |
|
||||
message = (HttpMessage)response; |
|
||||
|
|
||||
hashAdd(message->header, |
|
||||
new(HttpHeader, CSTRA("Content-Type"), CSTRA("text/html"))); |
|
||||
|
|
||||
message->nbody = sizeof(RESP_DATA)-1; |
|
||||
message->body = memMalloc(message->nbody); |
|
||||
memcpy(message->body, RESP_DATA, message->nbody); |
|
||||
|
|
||||
return response; |
|
||||
} |
|
||||
|
|
||||
// vim: set ts=4 sw=4: |
|
||||
@ -1,66 +0,0 @@ |
|||||
/** |
|
||||
* \file |
|
||||
* |
|
||||
* \author Georg Hopp |
|
||||
* |
|
||||
* \copyright |
|
||||
* Copyright © 2012 Georg Hopp |
|
||||
* |
|
||||
* This program is free software: you can redistribute it and/or modify |
|
||||
* it under the terms of the GNU General Public License as published by |
|
||||
* the Free Software Foundation, either version 3 of the License, or |
|
||||
* (at your option) any later version. |
|
||||
* |
|
||||
* This program is distributed in the hope that it will be useful, |
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
||||
* GNU General Public License for more details. |
|
||||
* |
|
||||
* You should have received a copy of the GNU General Public License |
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
||||
*/ |
|
||||
|
|
||||
#include <stdlib.h> |
|
||||
#include <string.h> |
|
||||
#include <stdio.h> |
|
||||
#include <time.h> |
|
||||
#include <sys/types.h> |
|
||||
|
|
||||
#include "class.h" |
|
||||
|
|
||||
#include "http/response.h" |
|
||||
#include "http/message.h" |
|
||||
#include "http/header.h" |
|
||||
|
|
||||
#include "utils/memory.h" |
|
||||
#include "hash.h" |
|
||||
|
|
||||
#define RESP_DATA "{\"ctime\":%ld,\"vnext\":%ld,\"value\":\"%02d\"}" |
|
||||
|
|
||||
HttpResponse |
|
||||
httpResponseRandval(time_t ctime, int value) |
|
||||
{ |
|
||||
char buffer[200]; |
|
||||
HttpResponse response; |
|
||||
HttpMessage message; |
|
||||
size_t nbuf; |
|
||||
time_t remaining; |
|
||||
|
|
||||
response = new(HttpResponse, "HTTP/1.1", 200, "OK"); |
|
||||
message = (HttpMessage)response; |
|
||||
|
|
||||
hashAdd(message->header, |
|
||||
new(HttpHeader, CSTRA("Content-Type"), CSTRA("application/json"))); |
|
||||
|
|
||||
remaining = 10 - (time(NULL) - ctime); |
|
||||
|
|
||||
nbuf = sprintf(buffer, RESP_DATA, ctime, remaining, value); |
|
||||
|
|
||||
message->nbody = nbuf; |
|
||||
message->body = memMalloc(nbuf); |
|
||||
memcpy(message->body, buffer, nbuf); |
|
||||
|
|
||||
return response; |
|
||||
} |
|
||||
|
|
||||
// vim: set ts=4 sw=4: |
|
||||
@ -1,67 +0,0 @@ |
|||||
/** |
|
||||
* \file |
|
||||
* |
|
||||
* \author Georg Hopp |
|
||||
* |
|
||||
* \copyright |
|
||||
* Copyright © 2012 Georg Hopp |
|
||||
* |
|
||||
* This program is free software: you can redistribute it and/or modify |
|
||||
* it under the terms of the GNU General Public License as published by |
|
||||
* the Free Software Foundation, either version 3 of the License, or |
|
||||
* (at your option) any later version. |
|
||||
* |
|
||||
* This program is distributed in the hope that it will be useful, |
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
||||
* GNU General Public License for more details. |
|
||||
* |
|
||||
* You should have received a copy of the GNU General Public License |
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
||||
*/ |
|
||||
|
|
||||
#include <stdlib.h> |
|
||||
#include <string.h> |
|
||||
#include <stdio.h> |
|
||||
#include <time.h> |
|
||||
#include <sys/types.h> |
|
||||
|
|
||||
#include "class.h" |
|
||||
|
|
||||
#include "http/response.h" |
|
||||
#include "http/message.h" |
|
||||
#include "http/header.h" |
|
||||
#include "session.h" |
|
||||
|
|
||||
#include "utils/memory.h" |
|
||||
#include "hash.h" |
|
||||
|
|
||||
#define RESP_DATA "{\"id\":\"%s\",\"timeout\":%d,\"timeleft\":%ld}" |
|
||||
|
|
||||
HttpResponse |
|
||||
httpResponseSession(Session session) |
|
||||
{ |
|
||||
char buffer[200]; |
|
||||
HttpResponse response; |
|
||||
HttpMessage message; |
|
||||
size_t nbuf; |
|
||||
|
|
||||
response = new(HttpResponse, "HTTP/1.1", 200, "OK"); |
|
||||
message = (HttpMessage)response; |
|
||||
|
|
||||
hashAdd(message->header, |
|
||||
new(HttpHeader, CSTRA("Content-Type"), CSTRA("application/json"))); |
|
||||
|
|
||||
nbuf = sprintf(buffer, RESP_DATA, |
|
||||
(NULL != session)? session->id : "", |
|
||||
(NULL != session)? SESSION_LIVETIME : 0, |
|
||||
(NULL != session)? session->livetime - time(NULL) : 0); |
|
||||
|
|
||||
message->nbody = nbuf; |
|
||||
message->body = memMalloc(nbuf); |
|
||||
memcpy(message->body, buffer, nbuf); |
|
||||
|
|
||||
return response; |
|
||||
} |
|
||||
|
|
||||
// vim: set ts=4 sw=4: |
|
||||
@ -1,67 +0,0 @@ |
|||||
/** |
|
||||
* \file |
|
||||
* |
|
||||
* \author Georg Hopp |
|
||||
* |
|
||||
* \copyright |
|
||||
* Copyright © 2012 Georg Hopp |
|
||||
* |
|
||||
* This program is free software: you can redistribute it and/or modify |
|
||||
* it under the terms of the GNU General Public License as published by |
|
||||
* the Free Software Foundation, either version 3 of the License, or |
|
||||
* (at your option) any later version. |
|
||||
* |
|
||||
* This program is distributed in the hope that it will be useful, |
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
||||
* GNU General Public License for more details. |
|
||||
* |
|
||||
* You should have received a copy of the GNU General Public License |
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
||||
*/ |
|
||||
|
|
||||
#include <stdlib.h> |
|
||||
#include <string.h> |
|
||||
#include <stdio.h> |
|
||||
#include <time.h> |
|
||||
#include <sys/types.h> |
|
||||
|
|
||||
#include "class.h" |
|
||||
|
|
||||
#include "http/response.h" |
|
||||
#include "http/message.h" |
|
||||
#include "http/header.h" |
|
||||
#include "session.h" |
|
||||
|
|
||||
#include "utils/memory.h" |
|
||||
#include "hash.h" |
|
||||
|
|
||||
#define RESP_DATA "{\"email\":\"%s\",\"firstname\":\"%s\",\"surname\":\"%s\"}" |
|
||||
|
|
||||
HttpResponse |
|
||||
httpResponseUser(User user) |
|
||||
{ |
|
||||
char buffer[200]; |
|
||||
HttpResponse response; |
|
||||
HttpMessage message; |
|
||||
size_t nbuf; |
|
||||
|
|
||||
response = new(HttpResponse, "HTTP/1.1", 200, "OK"); |
|
||||
message = (HttpMessage)response; |
|
||||
|
|
||||
hashAdd(message->header, |
|
||||
new(HttpHeader, CSTRA("Content-Type"), CSTRA("application/json"))); |
|
||||
|
|
||||
nbuf = sprintf(buffer, RESP_DATA, |
|
||||
(NULL != user)? user->email : "", |
|
||||
(NULL != user)? user->firstname : "", |
|
||||
(NULL != user)? user->surname : ""); |
|
||||
|
|
||||
message->nbody = nbuf; |
|
||||
message->body = memMalloc(nbuf); |
|
||||
memcpy(message->body, buffer, nbuf); |
|
||||
|
|
||||
return response; |
|
||||
} |
|
||||
|
|
||||
// vim: set ts=4 sw=4: |
|
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue