1
0
Fork 0
mirror of git://git.psyced.org/git/psyced synced 2024-08-15 03:25:10 +00:00
psyced/world/net/http/examine.c

33 lines
840 B
C
Raw Normal View History

2009-01-26 20:12:53 +00:00
#include <ht/http.h>
#include <net.h>
#include <text.h>
#include <person.h>
htget(prot, query, headers, qs) {
string nick, t;
object user;
htok3(prot, 0, "Expires: 0\n");
if (nick = query["user"]) user = find_person(nick);
unless (user) {
// should be a different mc here..
t = "_error_invalid_authentication_token";
} else unless (user->validToken(query["token"])) {
t = "_error_invalid_authentication_token";
} else if ((t = query["cmd"]) && strlen(t)) {
user->parsecmd(t, query["dest"]); // htcmd?
t = "_echo_execute_web";
2009-01-26 20:12:53 +00:00
} else if (t = user->htDescription(0, query, headers, qs, "")) {
P4(("result: %O\n", t))
2009-01-26 20:12:53 +00:00
// this is the thing!!
write(t);
return 1;
}
2009-01-26 20:12:53 +00:00
// show error message
localize(query["lang"], "html");
w("_HTML_head");
w(t || "_failure_unavailable_description");
w("_HTML_tail");
return 1;
}