English help on website



hidemaru.createHttpServer(Ver9.34対応版)
目次JavaScript対応Hidemaruオブジェクト− createHttpServer
createHttpServerメソッドは、HttpServerオブジェクトを作成します。(V9.25以降)[非同期]
js{
  server = hidemaru.createHttpServer( function( request, response ){ } );
}
パラメータ1(関数 または オブジェクト)
httpリクエストがあったときに呼ばれる関数を指定します。
関数のパラメータ1はHttpRequest、パラメータ2はHttpResponseが与えられて呼ばれます。
オブジェクトは、オプションを指定します。オプションを指定した場合、パラメータ2で関数を指定します。

パラメータ2(関数、省略可能)
パラメータ1にオプションを指定した場合、関数をここで指定します。

返り値
HttpServerオブジェクトを返します。


createHttpServerで得られるHttpServerオブジェクトは、最小限の機能だけのhttpサーバーです。
GETのみです。レスポンスヘッダの指定はありません。
POSTはできません。Keep-Aliveは未定です。
Webページをホストするためのものではなく、URLを元にtext/plainでテキストの応答ができるだけです。
同一PC内のアクセスを想定していますが、CORS回避しているので関係無いところから接続が発生しないか注意が必要です。
固定のURLとなるのはテスト目的だけにして、実際にはランダムなポートと、後述のmakeKeyを使ってください。
js{
  server = hidemaru.createHttpServer(function(req, res) {
    if(req.url=="/abc"){
      res.writeHead(200);//OK
      res.write("Hello World" );
      res.end("requested url:"+req.url );
    } else {
      res.writeHead(404);//Not found
      res.end("");
    }
  });
  server.listen(54321);// http://localhost:54321/abc
}
endmacro;
オプション
パラメータ1にオブジェクトを指定する場合、オプションの指定ができます。
オプションに指定できるプロパティは以下の1つだけです。
プロパティ名 値の種類 意味
makeKey      数値     0以外を指定してkeyをランダムに自動設定します
オプションのmakeKeyを指定すると、URLの最初のパス部分がHttpServer.keyと一致していないとできないようになります。
js{
  server = hidemaru.createHttpServer({makeKey:1},function(req, res) {
      res.writeHead(200);//OK
      res.end("Hello World Secure\r\n");
  });
  server.listen(0);//ランダムなポート
  input("URLです","http://localhost:"+server.port+"/"+server.key+"/foobar");
}
endmacro;

参照:
createHttpServer
HttpServer
HttpRequest
HttpResponse