Browse Source

moved several static content to various files

master
Georg Hopp 14 years ago
parent
commit
69cfdd07cc
  1. 48
      assets/html/main.html
  2. 0
      assets/image/waldschrat.jpg
  3. 0
      assets/js/jquery-1.7.1.js
  4. 0
      assets/js/jquery-1.7.1.min.js
  5. 60
      assets/js/serverval.js
  6. 41
      assets/style/common.css
  7. 1
      src/Makefile.am
  8. 57
      src/http/response/me.c
  9. 43
      src/http/worker/process.c
  10. 2
      src/webgameserver.c

48
assets/html/main.html

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>My own little Web-App</title>
<link rel="stylesheet" type="text/css" href="/assets/style/common">
<script type="text/javascript" src="/assets/js/jquery"></script>
<script type="text/javascript" src="/assets/js/serverval"></script>
<script>
//<![CDATA[
$(document).ready(function() {
var sval = new ServerVal("#randval");
$("ul#menu li:eq(0)").click(function() {
sval.start();
});
$("#randval").click(function() {
sval.stop();
});
});
//]]>
</script>
</head>
<body>
<ul id="menu">
<li>random Value</li>
</ul>
<div id="randval" class="hide">
<span class=\"small">
Value created at: <br />
<span></span><br>
Next value in: <span></span><br />
</span>
Value: <span></span>
</div>
<div id="main">
<h1>Testpage</h1>
Welcome You!!!<br />
<img src="/image/me" />
</div>
<hr />
<div id="msg"></div>
</body>
</html>
<!-- vim: set ts=4 sw=4: -->

0
assets/waldschrat.jpg → assets/image/waldschrat.jpg

Before

Width: 250  |  Height: 250  |  Size: 78 KiB

After

Width: 250  |  Height: 250  |  Size: 78 KiB

0
assets/jquery-1.7.1.js → assets/js/jquery-1.7.1.js

0
assets/jquery-1.7.1.min.js → assets/js/jquery-1.7.1.min.js

60
assets/js/serverval.js

@ -0,0 +1,60 @@
function ServerVal(eId)
{
this.eId = eId;
this.eCtime = eId + " span:eq(1)";
this.eVnext = eId + " span:eq(2)";
this.eValue = eId + " span:eq(3)";
this.interval = null;
this.ctime = null;
this.vnext = 0;
this.value = null;
}
ServerVal.prototype.loadJSON = function(data)
{
this.ctime = new Date(data.ctime * 1000);
this.vnext = data.vnext;
this.value = data.value;
this.show();
}
ServerVal.prototype.show = function()
{
$(this.eCtime).empty().append(this.ctime.toString());
$(this.eVnext).empty().append(this.vnext);
$(this.eValue).empty().append(this.value);
if ($(this.eId).hasClass("hide")) {
$(this.eId).removeClass("hide");
}
}
ServerVal.prototype.start = function()
{
this.interval = setInterval($.proxy(this.process, this), 1000);
}
ServerVal.prototype.process = function()
{
if (0 >= this.vnext) {
$.getJSON("/randval/", $.proxy(this.loadJSON, this));
}
else {
this.vnext--;
$(this.eVnext).empty().append(this.vnext);
}
}
ServerVal.prototype.stop = function()
{
$(this.eId).addClass("hide");
clearInterval(this.interval);
this.interval = null;
this.vnext = 0;
}
// vim: set ts=4 sw=4:

41
assets/style/common.css

@ -0,0 +1,41 @@
div#randval {
left: 200px;
top: 100px;
padding: 10px;
position: fixed;
background-color: white;
border: 1px solid black;
border-radius: 10px;
}
div.hide#randval {
top: -500px;
}
.small {
font-size: small;
}
ul#menu {
list-style: none inside;
margin: 0px;
padding: 1px 0px 0px;
border-bottom: 1px solid #7b0b2b;
display: inline-block;
width: 100%;
}
ul#menu li {
padding: 2px;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
border-top: 1px solid #7b0b2b;
border-left: 1px solid #7b0b2b;
border-right: 1px solid #7b0b2b;
text-align: center;
cursor: pointer;
float: left;
margin-right: 1px;
}
/* vim: set st=4 sw=4: */

1
src/Makefile.am

@ -30,7 +30,6 @@ RESP = http/response.c \
http/response/403.c \ http/response/403.c \
http/response/login_form.c \ http/response/login_form.c \
http/response/asset.c \ http/response/asset.c \
http/response/me.c \
http/response/randval.c http/response/randval.c
PARSER = http/parser.c \ PARSER = http/parser.c \
http/parser/parse.c \ http/parser/parse.c \

57
src/http/response/me.c

@ -57,67 +57,32 @@
"font-size: small;" \ "font-size: small;" \
"}" \ "}" \
"</style>" \ "</style>" \
"<script type=\"text/javascript\" src=\"/jquery/\"></script>" \
"<script type=\"text/javascript\" src=\"/assets/js/jquery\"></script>" \
"<script type=\"text/javascript\" src=\"/assets/js/serverval\"></script>" \
"<script>" \ "<script>" \
"$(document).ready(function() {" \ "$(document).ready(function() {" \
"var intervalId;" \
"var vnext = 0;" \
"var clickclose = function() {" \
"clearInterval(intervalId);" \
"vnext = 0;" \
"$(\"#randval\").addClass(\"hide\");" \
"};" \
"var counter = function() {" \
"if (0 >= vnext) {" \
"$.getJSON(\"/randval/\", function(data, xhr) {" \
"var date = new Date(data.ctime * 1000);" \
"$(\"#ctime\").empty().append(date.toString());" \
"vnext = data.vnext;" \
"$(\"#value\").empty().append(data.value);" \
"$(\"#vnext\").empty().append(vnext);" \
"$(\"#randval\").on(\"click\", clickclose);" \
"}).error(function(event, request, settings) {" \
"clearInterval(intervalId);" \
"$.get(\"/login/\", function(data) {" \
"$(\"#randval\")" \
".off(\"click\", clickclose)" \
".empty().append(data);" \
"});" \
"});" \
"if ($(\"#randval\").hasClass(\"hide\")) {" \
"$(\"#randval\").removeClass(\"hide\");" \
"}" \
"} else {" \
"vnext--;" \
"$(\"#vnext\").empty().append(vnext);" \
"}" \
"};" \
"$(\"#msg\").ajaxError(function(event, request, settings) {" \
"$(this).append(" \
"\"<li>Error requesting page \" + " \
"settings.url + " \
"\"</li>\");" \
"vnext = 0;" \
"});" \
"var sval = new ServerVal(\"#randval\");" \
"$(\"a\").click(function() {" \ "$(\"a\").click(function() {" \
"intervalId = setInterval(counter, 1000);" \
"sval.start();" \
"});" \ "});" \
"});" \ "});" \
"</script>" \ "</script>" \
"</head>" \ "</head>" \
"<body>" \
"<body>"
"<ul id=\"menu\">" \
"<li>serverval</li>" \
"</ul>" \
"<div id=\"randval\" class=\"hide\">" \ "<div id=\"randval\" class=\"hide\">" \
"<span class=\"small\">" \ "<span class=\"small\">" \
"Value created at: <br /><span id=\"ctime\"></span><br>" \
"Next value in: <span id=\"vnext\"></span><br />" \
"Value created at: <br /><span></span><br>" \
"Next value in: <span></span><br />" \
"</span>" \ "</span>" \
"Value: <span id=\"value\"></span>" \
"Value: <span></span>" \
"</div>" \ "</div>" \
"<div id=\"main\">" \ "<div id=\"main\">" \
"<h1>Testpage</h1>" \ "<h1>Testpage</h1>" \
"Welcome %s<br />" \ "Welcome %s<br />" \
"<img src=\"/image/\" />" \ "<img src=\"/image/\" />" \
"<br /><a href=\"#\">Link</a>" \
"</div>" \ "</div>" \
"<hr /><div id=\"msg\"></div>" \ "<hr /><div id=\"msg\"></div>" \
"</body>" \ "</body>" \

43
src/http/worker/process.c

@ -108,7 +108,10 @@ httpWorkerProcess(HttpWorker this, Stream st)
new(Session, val, nval)); new(Session, val, nval));
nbuf = sprintf(buffer, "sid=%lu;Path=/", this->session->id); nbuf = sprintf(buffer, "sid=%lu;Path=/", this->session->id);
response = (HttpMessage)httpResponseMe(this->session->username);
response = httpWorkerGetAsset(
request,
"./assets/html/main.html",
CSTRA("text/html"));
httpHeaderAdd( httpHeaderAdd(
&(response->header), &(response->header),
@ -122,34 +125,50 @@ httpWorkerProcess(HttpWorker this, Stream st)
response = (HttpMessage)httpResponseLoginForm(); response = (HttpMessage)httpResponseLoginForm();
} }
if (0 == strcmp("/me/", request->uri)) {
char * uname = (NULL != this->session)? this->session->username : "";
response = (HttpMessage)httpResponseMe(uname);
if (0 == strcmp("/", request->uri)) {
response = httpWorkerGetAsset(
request,
"./assets/html/main.html",
CSTRA("text/html"));
} }
if (0 == strcmp("/randval/", request->uri)) { if (0 == strcmp("/randval/", request->uri)) {
if (NULL != this->session) {
//if (NULL != this->session) {
response = (HttpMessage)httpResponseRandval( response = (HttpMessage)httpResponseRandval(
this->val->timestamp, this->val->timestamp,
this->val->value); this->val->value);
} else {
response = (HttpMessage)httpResponse403();
}
//} else {
// response = (HttpMessage)httpResponse403();
//}
} }
if (0 == strcmp("/image/", request->uri)) {
if (0 == strcmp("/image/me", request->uri)) {
response = httpWorkerGetAsset( response = httpWorkerGetAsset(
request, request,
"./assets/waldschrat.jpg",
"./assets/image/waldschrat.jpg",
CSTRA("image/jpeg")); CSTRA("image/jpeg"));
} }
if (0 == strcmp("/jquery/", request->uri)) {
if (0 == strcmp("/assets/js/jquery", request->uri)) {
response = httpWorkerGetAsset( response = httpWorkerGetAsset(
request, request,
"./assets/jquery-1.7.1.min.js",
"./assets/js/jquery-1.7.1.min.js",
CSTRA("text/javascript")); CSTRA("text/javascript"));
} }
if (0 == strcmp("/assets/js/serverval", request->uri)) {
response = httpWorkerGetAsset(
request,
"./assets/js/serverval.js",
CSTRA("text/javascript"));
}
if (0 == strcmp("/assets/style/common", request->uri)) {
response = httpWorkerGetAsset(
request,
"./assets/style/common.css",
CSTRA("text/css"));
}
} }
if (NULL == response) { if (NULL == response) {

2
src/webgameserver.c

@ -135,7 +135,7 @@ main()
shm_unlink("/fooshm"); shm_unlink("/fooshm");
close(shm); close(shm);
logger = new(LoggerStderr, LOGGER_DEBUG);
logger = new(LoggerSyslog, LOGGER_ERR);
worker = new(HttpWorker, "testserver", value); worker = new(HttpWorker, "testserver", value);
server = new(Server, logger, worker, 11212, SOMAXCONN); server = new(Server, logger, worker, 11212, SOMAXCONN);

Loading…
Cancel
Save