Commit 69cfdd07ccec299efc3944377f4d62e2ef472458
1 parent
1af8b32f
moved several static content to various files
Showing
10 changed files
with
192 additions
and
60 deletions
assets/html/main.html
0 → 100644
1 | +<?xml version="1.0" encoding="iso-8859-1"?> | ||
2 | +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" | ||
3 | +"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | ||
4 | +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> | ||
5 | + <head> | ||
6 | + <title>My own little Web-App</title> | ||
7 | + <link rel="stylesheet" type="text/css" href="/assets/style/common"> | ||
8 | + <script type="text/javascript" src="/assets/js/jquery"></script> | ||
9 | + <script type="text/javascript" src="/assets/js/serverval"></script> | ||
10 | + <script> | ||
11 | + //<![CDATA[ | ||
12 | + $(document).ready(function() { | ||
13 | + var sval = new ServerVal("#randval"); | ||
14 | + | ||
15 | + $("ul#menu li:eq(0)").click(function() { | ||
16 | + sval.start(); | ||
17 | + }); | ||
18 | + | ||
19 | + $("#randval").click(function() { | ||
20 | + sval.stop(); | ||
21 | + }); | ||
22 | + }); | ||
23 | + //]]> | ||
24 | + </script> | ||
25 | + </head> | ||
26 | + <body> | ||
27 | + <ul id="menu"> | ||
28 | + <li>random Value</li> | ||
29 | + </ul> | ||
30 | + <div id="randval" class="hide"> | ||
31 | + <span class=\"small"> | ||
32 | + Value created at: <br /> | ||
33 | + <span></span><br> | ||
34 | + Next value in: <span></span><br /> | ||
35 | + </span> | ||
36 | + Value: <span></span> | ||
37 | + </div> | ||
38 | + <div id="main"> | ||
39 | + <h1>Testpage</h1> | ||
40 | + Welcome You!!!<br /> | ||
41 | + <img src="/image/me" /> | ||
42 | + </div> | ||
43 | + <hr /> | ||
44 | + <div id="msg"></div> | ||
45 | + </body> | ||
46 | +</html> | ||
47 | + | ||
48 | +<!-- vim: set ts=4 sw=4: --> |
assets/js/serverval.js
0 → 100644
1 | +function ServerVal(eId) | ||
2 | +{ | ||
3 | + this.eId = eId; | ||
4 | + this.eCtime = eId + " span:eq(1)"; | ||
5 | + this.eVnext = eId + " span:eq(2)"; | ||
6 | + this.eValue = eId + " span:eq(3)"; | ||
7 | + | ||
8 | + this.interval = null; | ||
9 | + this.ctime = null; | ||
10 | + this.vnext = 0; | ||
11 | + this.value = null; | ||
12 | +} | ||
13 | + | ||
14 | +ServerVal.prototype.loadJSON = function(data) | ||
15 | +{ | ||
16 | + this.ctime = new Date(data.ctime * 1000); | ||
17 | + this.vnext = data.vnext; | ||
18 | + this.value = data.value; | ||
19 | + | ||
20 | + this.show(); | ||
21 | +} | ||
22 | + | ||
23 | +ServerVal.prototype.show = function() | ||
24 | +{ | ||
25 | + $(this.eCtime).empty().append(this.ctime.toString()); | ||
26 | + $(this.eVnext).empty().append(this.vnext); | ||
27 | + $(this.eValue).empty().append(this.value); | ||
28 | + | ||
29 | + if ($(this.eId).hasClass("hide")) { | ||
30 | + $(this.eId).removeClass("hide"); | ||
31 | + } | ||
32 | +} | ||
33 | + | ||
34 | +ServerVal.prototype.start = function() | ||
35 | +{ | ||
36 | + this.interval = setInterval($.proxy(this.process, this), 1000); | ||
37 | +} | ||
38 | + | ||
39 | +ServerVal.prototype.process = function() | ||
40 | +{ | ||
41 | + if (0 >= this.vnext) { | ||
42 | + $.getJSON("/randval/", $.proxy(this.loadJSON, this)); | ||
43 | + } | ||
44 | + | ||
45 | + else { | ||
46 | + this.vnext--; | ||
47 | + $(this.eVnext).empty().append(this.vnext); | ||
48 | + } | ||
49 | +} | ||
50 | + | ||
51 | +ServerVal.prototype.stop = function() | ||
52 | +{ | ||
53 | + $(this.eId).addClass("hide"); | ||
54 | + | ||
55 | + clearInterval(this.interval); | ||
56 | + this.interval = null; | ||
57 | + this.vnext = 0; | ||
58 | +} | ||
59 | + | ||
60 | +// vim: set ts=4 sw=4: |
assets/style/common.css
0 → 100644
1 | +div#randval { | ||
2 | + left: 200px; | ||
3 | + top: 100px; | ||
4 | + padding: 10px; | ||
5 | + position: fixed; | ||
6 | + background-color: white; | ||
7 | + border: 1px solid black; | ||
8 | + border-radius: 10px; | ||
9 | +} | ||
10 | + | ||
11 | +div.hide#randval { | ||
12 | + top: -500px; | ||
13 | +} | ||
14 | + | ||
15 | +.small { | ||
16 | + font-size: small; | ||
17 | +} | ||
18 | + | ||
19 | +ul#menu { | ||
20 | + list-style: none inside; | ||
21 | + margin: 0px; | ||
22 | + padding: 1px 0px 0px; | ||
23 | + border-bottom: 1px solid #7b0b2b; | ||
24 | + display: inline-block; | ||
25 | + width: 100%; | ||
26 | +} | ||
27 | + | ||
28 | +ul#menu li { | ||
29 | + padding: 2px; | ||
30 | + border-top-left-radius: 10px; | ||
31 | + border-top-right-radius: 10px; | ||
32 | + border-top: 1px solid #7b0b2b; | ||
33 | + border-left: 1px solid #7b0b2b; | ||
34 | + border-right: 1px solid #7b0b2b; | ||
35 | + text-align: center; | ||
36 | + cursor: pointer; | ||
37 | + | ||
38 | + float: left; | ||
39 | + margin-right: 1px; | ||
40 | +} | ||
41 | +/* vim: set st=4 sw=4: */ |
@@ -30,7 +30,6 @@ RESP = http/response.c \ | @@ -30,7 +30,6 @@ RESP = http/response.c \ | ||
30 | http/response/403.c \ | 30 | http/response/403.c \ |
31 | http/response/login_form.c \ | 31 | http/response/login_form.c \ |
32 | http/response/asset.c \ | 32 | http/response/asset.c \ |
33 | - http/response/me.c \ | ||
34 | http/response/randval.c | 33 | http/response/randval.c |
35 | PARSER = http/parser.c \ | 34 | PARSER = http/parser.c \ |
36 | http/parser/parse.c \ | 35 | http/parser/parse.c \ |
@@ -57,67 +57,32 @@ | @@ -57,67 +57,32 @@ | ||
57 | "font-size: small;" \ | 57 | "font-size: small;" \ |
58 | "}" \ | 58 | "}" \ |
59 | "</style>" \ | 59 | "</style>" \ |
60 | - "<script type=\"text/javascript\" src=\"/jquery/\"></script>" \ | 60 | + "<script type=\"text/javascript\" src=\"/assets/js/jquery\"></script>" \ |
61 | + "<script type=\"text/javascript\" src=\"/assets/js/serverval\"></script>" \ | ||
61 | "<script>" \ | 62 | "<script>" \ |
62 | "$(document).ready(function() {" \ | 63 | "$(document).ready(function() {" \ |
63 | - "var intervalId;" \ | ||
64 | - "var vnext = 0;" \ | ||
65 | - "var clickclose = function() {" \ | ||
66 | - "clearInterval(intervalId);" \ | ||
67 | - "vnext = 0;" \ | ||
68 | - "$(\"#randval\").addClass(\"hide\");" \ | ||
69 | - "};" \ | ||
70 | - "var counter = function() {" \ | ||
71 | - "if (0 >= vnext) {" \ | ||
72 | - "$.getJSON(\"/randval/\", function(data, xhr) {" \ | ||
73 | - "var date = new Date(data.ctime * 1000);" \ | ||
74 | - "$(\"#ctime\").empty().append(date.toString());" \ | ||
75 | - "vnext = data.vnext;" \ | ||
76 | - "$(\"#value\").empty().append(data.value);" \ | ||
77 | - "$(\"#vnext\").empty().append(vnext);" \ | ||
78 | - "$(\"#randval\").on(\"click\", clickclose);" \ | ||
79 | - "}).error(function(event, request, settings) {" \ | ||
80 | - "clearInterval(intervalId);" \ | ||
81 | - "$.get(\"/login/\", function(data) {" \ | ||
82 | - "$(\"#randval\")" \ | ||
83 | - ".off(\"click\", clickclose)" \ | ||
84 | - ".empty().append(data);" \ | ||
85 | - "});" \ | ||
86 | - "});" \ | ||
87 | - "if ($(\"#randval\").hasClass(\"hide\")) {" \ | ||
88 | - "$(\"#randval\").removeClass(\"hide\");" \ | ||
89 | - "}" \ | ||
90 | - "} else {" \ | ||
91 | - "vnext--;" \ | ||
92 | - "$(\"#vnext\").empty().append(vnext);" \ | ||
93 | - "}" \ | ||
94 | - "};" \ | ||
95 | - "$(\"#msg\").ajaxError(function(event, request, settings) {" \ | ||
96 | - "$(this).append(" \ | ||
97 | - "\"<li>Error requesting page \" + " \ | ||
98 | - "settings.url + " \ | ||
99 | - "\"</li>\");" \ | ||
100 | - "vnext = 0;" \ | ||
101 | - "});" \ | 64 | + "var sval = new ServerVal(\"#randval\");" \ |
102 | "$(\"a\").click(function() {" \ | 65 | "$(\"a\").click(function() {" \ |
103 | - "intervalId = setInterval(counter, 1000);" \ | 66 | + "sval.start();" \ |
104 | "});" \ | 67 | "});" \ |
105 | "});" \ | 68 | "});" \ |
106 | "</script>" \ | 69 | "</script>" \ |
107 | "</head>" \ | 70 | "</head>" \ |
108 | - "<body>" \ | 71 | + "<body>" |
72 | + "<ul id=\"menu\">" \ | ||
73 | + "<li>serverval</li>" \ | ||
74 | + "</ul>" \ | ||
109 | "<div id=\"randval\" class=\"hide\">" \ | 75 | "<div id=\"randval\" class=\"hide\">" \ |
110 | "<span class=\"small\">" \ | 76 | "<span class=\"small\">" \ |
111 | - "Value created at: <br /><span id=\"ctime\"></span><br>" \ | ||
112 | - "Next value in: <span id=\"vnext\"></span><br />" \ | 77 | + "Value created at: <br /><span></span><br>" \ |
78 | + "Next value in: <span></span><br />" \ | ||
113 | "</span>" \ | 79 | "</span>" \ |
114 | - "Value: <span id=\"value\"></span>" \ | 80 | + "Value: <span></span>" \ |
115 | "</div>" \ | 81 | "</div>" \ |
116 | "<div id=\"main\">" \ | 82 | "<div id=\"main\">" \ |
117 | "<h1>Testpage</h1>" \ | 83 | "<h1>Testpage</h1>" \ |
118 | "Welcome %s<br />" \ | 84 | "Welcome %s<br />" \ |
119 | "<img src=\"/image/\" />" \ | 85 | "<img src=\"/image/\" />" \ |
120 | - "<br /><a href=\"#\">Link</a>" \ | ||
121 | "</div>" \ | 86 | "</div>" \ |
122 | "<hr /><div id=\"msg\"></div>" \ | 87 | "<hr /><div id=\"msg\"></div>" \ |
123 | "</body>" \ | 88 | "</body>" \ |
@@ -108,7 +108,10 @@ httpWorkerProcess(HttpWorker this, Stream st) | @@ -108,7 +108,10 @@ httpWorkerProcess(HttpWorker this, Stream st) | ||
108 | new(Session, val, nval)); | 108 | new(Session, val, nval)); |
109 | nbuf = sprintf(buffer, "sid=%lu;Path=/", this->session->id); | 109 | nbuf = sprintf(buffer, "sid=%lu;Path=/", this->session->id); |
110 | 110 | ||
111 | - response = (HttpMessage)httpResponseMe(this->session->username); | 111 | + response = httpWorkerGetAsset( |
112 | + request, | ||
113 | + "./assets/html/main.html", | ||
114 | + CSTRA("text/html")); | ||
112 | 115 | ||
113 | httpHeaderAdd( | 116 | httpHeaderAdd( |
114 | &(response->header), | 117 | &(response->header), |
@@ -122,34 +125,50 @@ httpWorkerProcess(HttpWorker this, Stream st) | @@ -122,34 +125,50 @@ httpWorkerProcess(HttpWorker this, Stream st) | ||
122 | response = (HttpMessage)httpResponseLoginForm(); | 125 | response = (HttpMessage)httpResponseLoginForm(); |
123 | } | 126 | } |
124 | 127 | ||
125 | - if (0 == strcmp("/me/", request->uri)) { | ||
126 | - char * uname = (NULL != this->session)? this->session->username : ""; | ||
127 | - response = (HttpMessage)httpResponseMe(uname); | 128 | + if (0 == strcmp("/", request->uri)) { |
129 | + response = httpWorkerGetAsset( | ||
130 | + request, | ||
131 | + "./assets/html/main.html", | ||
132 | + CSTRA("text/html")); | ||
128 | } | 133 | } |
129 | 134 | ||
130 | if (0 == strcmp("/randval/", request->uri)) { | 135 | if (0 == strcmp("/randval/", request->uri)) { |
131 | - if (NULL != this->session) { | 136 | + //if (NULL != this->session) { |
132 | response = (HttpMessage)httpResponseRandval( | 137 | response = (HttpMessage)httpResponseRandval( |
133 | this->val->timestamp, | 138 | this->val->timestamp, |
134 | this->val->value); | 139 | this->val->value); |
135 | - } else { | ||
136 | - response = (HttpMessage)httpResponse403(); | ||
137 | - } | 140 | + //} else { |
141 | + // response = (HttpMessage)httpResponse403(); | ||
142 | + //} | ||
138 | } | 143 | } |
139 | 144 | ||
140 | - if (0 == strcmp("/image/", request->uri)) { | 145 | + if (0 == strcmp("/image/me", request->uri)) { |
141 | response = httpWorkerGetAsset( | 146 | response = httpWorkerGetAsset( |
142 | request, | 147 | request, |
143 | - "./assets/waldschrat.jpg", | 148 | + "./assets/image/waldschrat.jpg", |
144 | CSTRA("image/jpeg")); | 149 | CSTRA("image/jpeg")); |
145 | } | 150 | } |
146 | 151 | ||
147 | - if (0 == strcmp("/jquery/", request->uri)) { | 152 | + if (0 == strcmp("/assets/js/jquery", request->uri)) { |
148 | response = httpWorkerGetAsset( | 153 | response = httpWorkerGetAsset( |
149 | request, | 154 | request, |
150 | - "./assets/jquery-1.7.1.min.js", | 155 | + "./assets/js/jquery-1.7.1.min.js", |
151 | CSTRA("text/javascript")); | 156 | CSTRA("text/javascript")); |
152 | } | 157 | } |
158 | + | ||
159 | + if (0 == strcmp("/assets/js/serverval", request->uri)) { | ||
160 | + response = httpWorkerGetAsset( | ||
161 | + request, | ||
162 | + "./assets/js/serverval.js", | ||
163 | + CSTRA("text/javascript")); | ||
164 | + } | ||
165 | + | ||
166 | + if (0 == strcmp("/assets/style/common", request->uri)) { | ||
167 | + response = httpWorkerGetAsset( | ||
168 | + request, | ||
169 | + "./assets/style/common.css", | ||
170 | + CSTRA("text/css")); | ||
171 | + } | ||
153 | } | 172 | } |
154 | 173 | ||
155 | if (NULL == response) { | 174 | if (NULL == response) { |
@@ -135,7 +135,7 @@ main() | @@ -135,7 +135,7 @@ main() | ||
135 | shm_unlink("/fooshm"); | 135 | shm_unlink("/fooshm"); |
136 | close(shm); | 136 | close(shm); |
137 | 137 | ||
138 | - logger = new(LoggerStderr, LOGGER_DEBUG); | 138 | + logger = new(LoggerSyslog, LOGGER_ERR); |
139 | worker = new(HttpWorker, "testserver", value); | 139 | worker = new(HttpWorker, "testserver", value); |
140 | server = new(Server, logger, worker, 11212, SOMAXCONN); | 140 | server = new(Server, logger, worker, 11212, SOMAXCONN); |
141 | 141 |
Please
register
or
login
to post a comment