BETA

Denoを使ってみる6(1.4.0のマニュアルに追加されたhttpサーバーのコードを見てみる)

投稿日:2020-09-17
最終更新:2020-09-17

【1.4.0】

1.4.0のマニュアルからWebサーバーのサンプルコードが掲載されました。

/**   
 * webserver.ts   
 */  
import { serve } from "https://deno.land/[email protected]/http/server.ts";  

const server = serve({ hostname: "0.0.0.0", port: 8080 });  
console.log(`HTTP webserver running.  Access it at:  http://localhost:8080/`);  

for await (const request of server) {  
  let bodyContent = "Your user-agent is:\n\n";  
  bodyContent += request.headers.get("user-agent") || "Unknown";  

  request.respond({ status: 200, body: bodyContent });  
}  

ちょっと使ってみましょう。

新しくlocal_server.tsを作成して、上記のコードを実行してみます。

$ deno run --allow-net --allow-read local_server.ts  
HTTP webserver running.  Access it at:  http://localhost:8080/  

特にエラーもなく、動きました。
ブラウザでアクセスしてみます。

ユーザーが何のブラウザを使っているのか、どのOSを使っているのかが表示されます。
コードの「request.headers.get("user-agent")」で情報を取得して、「request.respond({ status: 200, body: bodyContent });」で表示しているのが、結果からわかりますね。

今後は、このコードをベースにしていきます。
サンプルコードもTypeScriptなので、今後はTypeScript準拠で書いていきます。

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@jokerの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう