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