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: */ | ... | ... |
| ... | ... | @@ -57,67 +57,32 @@ |
| 57 | 57 | "font-size: small;" \ |
| 58 | 58 | "}" \ |
| 59 | 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 | 62 | "<script>" \ |
| 62 | 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 | 65 | "$(\"a\").click(function() {" \ |
| 103 | - "intervalId = setInterval(counter, 1000);" \ | |
| 66 | + "sval.start();" \ | |
| 104 | 67 | "});" \ |
| 105 | 68 | "});" \ |
| 106 | 69 | "</script>" \ |
| 107 | 70 | "</head>" \ |
| 108 | - "<body>" \ | |
| 71 | + "<body>" | |
| 72 | + "<ul id=\"menu\">" \ | |
| 73 | + "<li>serverval</li>" \ | |
| 74 | + "</ul>" \ | |
| 109 | 75 | "<div id=\"randval\" class=\"hide\">" \ |
| 110 | 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 | 79 | "</span>" \ |
| 114 | - "Value: <span id=\"value\"></span>" \ | |
| 80 | + "Value: <span></span>" \ | |
| 115 | 81 | "</div>" \ |
| 116 | 82 | "<div id=\"main\">" \ |
| 117 | 83 | "<h1>Testpage</h1>" \ |
| 118 | 84 | "Welcome %s<br />" \ |
| 119 | 85 | "<img src=\"/image/\" />" \ |
| 120 | - "<br /><a href=\"#\">Link</a>" \ | |
| 121 | 86 | "</div>" \ |
| 122 | 87 | "<hr /><div id=\"msg\"></div>" \ |
| 123 | 88 | "</body>" \ | ... | ... |
| ... | ... | @@ -108,7 +108,10 @@ httpWorkerProcess(HttpWorker this, Stream st) |
| 108 | 108 | new(Session, val, nval)); |
| 109 | 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 | 116 | httpHeaderAdd( |
| 114 | 117 | &(response->header), |
| ... | ... | @@ -122,34 +125,50 @@ httpWorkerProcess(HttpWorker this, Stream st) |
| 122 | 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 | 135 | if (0 == strcmp("/randval/", request->uri)) { |
| 131 | - if (NULL != this->session) { | |
| 136 | + //if (NULL != this->session) { | |
| 132 | 137 | response = (HttpMessage)httpResponseRandval( |
| 133 | 138 | this->val->timestamp, |
| 134 | 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 | 146 | response = httpWorkerGetAsset( |
| 142 | 147 | request, |
| 143 | - "./assets/waldschrat.jpg", | |
| 148 | + "./assets/image/waldschrat.jpg", | |
| 144 | 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 | 153 | response = httpWorkerGetAsset( |
| 149 | 154 | request, |
| 150 | - "./assets/jquery-1.7.1.min.js", | |
| 155 | + "./assets/js/jquery-1.7.1.min.js", | |
| 151 | 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 | 174 | if (NULL == response) { | ... | ... |
| ... | ... | @@ -135,7 +135,7 @@ main() |
| 135 | 135 | shm_unlink("/fooshm"); |
| 136 | 136 | close(shm); |
| 137 | 137 | |
| 138 | - logger = new(LoggerStderr, LOGGER_DEBUG); | |
| 138 | + logger = new(LoggerSyslog, LOGGER_ERR); | |
| 139 | 139 | worker = new(HttpWorker, "testserver", value); |
| 140 | 140 | server = new(Server, logger, worker, 11212, SOMAXCONN); |
| 141 | 141 | ... | ... |
Please
register
or
login
to post a comment