{"id":9524,"date":"2012-05-01T08:00:52","date_gmt":"2012-04-30T23:00:52","guid":{"rendered":"http:\/\/www.sssg.org\/blogs\/hiro345\/?p=9524"},"modified":"2012-05-01T07:20:55","modified_gmt":"2012-04-30T22:20:55","slug":"dart-hello-server-20120501%e7%89%88","status":"publish","type":"post","link":"https:\/\/www.hiro345.net\/blogs\/hiro345\/archives\/9524.html","title":{"rendered":"Dart hello server 2012\/05\/01\u7248"},"content":{"rendered":"<p>\u300c<a href=\"\/\/www.sssg.org\/blogs\/hiro345\/archives\/9261.html\">Dart hello server | hiro345<\/a>\u300d\u306f2012\/04\/25\u4ee5\u964d\u306eDart SDK\u3067\u306f\u52d5\u4f5c\u3057\u307e\u305b\u3093\u3002\u4fee\u6b63\u7248\u306f\u6b21\u306e\u901a\u308a\u3067\u3059\u3002<br \/>\n<!--more--><br \/>\naddRequestHandler\u3092\u4f7f\u3046\u3088\u3046\u306b\u306a\u3063\u305f\u306e\u3068\u3001HttpResponse\u3078\u306e\u30d8\u30c3\u30c0\u8a2d\u5b9a\u306b\u3064\u3044\u3066headers.set\u3092\u4f7f\u3046\u3088\u3046\u306b\u306a\u3063\u305f\u70b9\u306b\u6ce8\u610f\u3067\u3059\u3002<\/p>\n<p>Dart hello server 2012\/05\/01\u7248<\/p>\n<pre class=\"brush: java; gutter: true\">\r\n#library(&quot;httpserver_v2&quot;);\r\n#import(&quot;dart:io&quot;);\r\nfinal HOST = &quot;127.0.0.1&quot;;\r\nfinal PORT = 8080;\r\nfinal LOG_REQUESTS = true;\r\n\r\nvoid main() {\r\n  HttpServer server = new HttpServer();  \r\n  server.addRequestHandler((HttpRequest req) =&gt; true, handler);\r\n  server.listen(HOST, PORT);  \r\n  print(&quot;httpserver_v2 on http:\/\/${HOST}:${PORT}.&quot;); \r\n}\r\n\r\nvoid handler(HttpRequest req, HttpResponse res) {\r\n  if (LOG_REQUESTS) {\r\n    print(&quot;Request: ${req.method} ${req.uri}&quot;);\r\n  }\r\n  String html = &#039;&#039;&#039;\r\n&lt;html&gt;\r\n  &lt;head&gt;\r\n    &lt;title&gt;httpserver_v2&lt;\/title&gt;\r\n    &lt;style&gt;\r\n      body { background-color: gray; }\r\n      p { background-color: white; border-radius: 4px; border:solid 1px #555; }\r\n    &lt;\/style&gt;\r\n  &lt;\/head&gt;\r\n  &lt;body&gt;\r\n    &lt;p&gt; Hello: ${new Date.now()} &lt;\/p&gt;\r\n  &lt;\/body&gt;\r\n&lt;\/html&gt;\r\n&#039;&#039;&#039;;\r\n  res.headers.set(HttpHeaders.CONTENT_TYPE, &quot;text\/html; charset=UTF-8&quot;);\r\n  res.outputStream.writeString(html);\r\n  res.outputStream.close();\r\n}\r\n<\/pre>\n<p>\u8efd\u3081\u306e\u7528\u9014\u3067\u3042\u308c\u3070\u3001\u3053\u308c\u3067\u5341\u5206\u3067\u3059\u306d\u3002<\/p>\n<ul>\n<li>\u30af\u30e9\u30b9\u30d9\u30fc\u30b9\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u6307\u5411\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u306e\u57fa\u790e\u3092\u5b66\u3076\u306b\u306f &#8230; <a type=\"amzn\" asin=\"484432523X\">\u6539\u8a02\u7248 \u57fa\u790eJava(CD-ROM\u4ed8) (IMPRESS KISO SERIES)<\/a><\/li>\n<li>\u30af\u30e9\u30b9\u30d9\u30fc\u30b9\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u6307\u5411\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u3092\u5b66\u3076\u306b\u306f &#8230; <a type=\"amzn\" asin=\"4894717166\">\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9eJava (The Java Series)<\/a><\/li>\n<li>\u95a2\u6570\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u3092\u5b66\u3076\u306b\u306f &#8230; <a type=\"amzn\" asin=\"4844330845\">Scala\u30b9\u30b1\u30fc\u30e9\u30d6\u30eb\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u7b2c2\u7248<\/a><\/li>\n<li>\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u306e\u7406\u8ad6\u3092\u5b66\u306b\u306f &#8230; <a type=\"amzn\" asin=\"4781912850\">\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u306e\u57fa\u790e\u6982\u5ff5 (\u30e9\u30a4\u30d6\u30e9\u30ea\u60c5\u5831\u5b66\u30b3\u30a2\u30fb\u30c6\u30ad\u30b9\u30c8) <\/a><\/li>\n<\/ul>\n<p><iframe src=\"\/\/rcm-jp.amazon.co.jp\/e\/cm?t=hiro345-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=484432523X&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr\" style=\"width:120px;height:240px;\" scrolling=\"no\" marginwidth=\"0\" marginheight=\"0\" frameborder=\"0\"><\/iframe><iframe src=\"\/\/rcm-jp.amazon.co.jp\/e\/cm?t=hiro345-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4894717166&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr\" style=\"width:120px;height:240px;\" scrolling=\"no\" marginwidth=\"0\" marginheight=\"0\" frameborder=\"0\"><\/iframe><iframe src=\"\/\/rcm-jp.amazon.co.jp\/e\/cm?t=hiro345-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4844330845&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr\" style=\"width:120px;height:240px;\" scrolling=\"no\" marginwidth=\"0\" marginheight=\"0\" frameborder=\"0\"><\/iframe><iframe src=\"\/\/rcm-jp.amazon.co.jp\/e\/cm?t=hiro345-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4781912850&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr\" style=\"width:120px;height:240px;\" scrolling=\"no\" marginwidth=\"0\" marginheight=\"0\" frameborder=\"0\"><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u300cDart hello server | hiro345\u300d\u306f2012\/04\/25\u4ee5\u964d\u306eDart SDK\u3067\u306f\u52d5\u4f5c\u3057\u307e\u305b\u3093\u3002\u4fee\u6b63\u7248\u306f\u6b21\u306e\u901a\u308a\u3067\u3059\u3002<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15],"tags":[638,684],"class_list":["post-9524","post","type-post","status-publish","format-standard","hentry","category-program","tag-dart","tag-dartlang"],"_links":{"self":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts\/9524","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/comments?post=9524"}],"version-history":[{"count":6,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts\/9524\/revisions"}],"predecessor-version":[{"id":9914,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts\/9524\/revisions\/9914"}],"wp:attachment":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/media?parent=9524"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/categories?post=9524"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/tags?post=9524"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}