介绍 Echoo: go 语言编写的 echo 服务器
原文地址
簡介
最近由于要配置 nginx 服務器,里面有個代理轉發(proxy_pass)的功能,能夠將當前服務器接收到的請求轉發給其他服務器來處理。
但是在配置當中,我發現我無法確認我的 proxy_pass 是否生效,網上現成的 echo 服務又不怎么滿足我的要求,所以就決定自己寫一個 echo 服務器,用 Golang。
代碼
代碼在這里 echo
具體的代碼就不做詳細介紹了,也就是用到了 Golang 的 http 庫,提供了一個 web 服務器和一個 websocket 服務器,使用 logrus 作為日志庫,原生的 template 作為模版庫。
使用
該工具為命令行工具,只能夠在命令行中啟動
啟動過后,工具會在命令行中輸出當前 web 服務器的地址,可以使用瀏覽器訪問
該工具有四種模式,通過 -m 參數來指定:
-m echo
html 回聲模式,這也是該軟件默認的一種模式。他的作用就是:當你請求工具提供的 web 服務器地址時,服務器會將你剛才發出的請求中所有信息都通過一個 html 文檔返回給你,類似下面這樣:
-m terminal
命令行模式,這個模式下,工具只會將請求信息顯示在終端命令行中,訪問之前的那個 url (如 http://0.0.0.0:8888)不會有任何返回結果。命令行輸出如下:
-m file
文件模式,該模式下,工具只會將上面 terminal 模式下的請求信息寫入到指定文件,默認為當前目錄下 logs/log.txt 文件中,但你也可以通過 -f 自定義日志文件地址 來自定義日志文件存放位置。
-m ws
這個也是我最喜歡的模式了,通過 websocket 技術的使用,讓我們能夠在瀏覽器中實時觀察到指定鏈接的訪問信息。
該模式啟動后,照常訪問控制臺輸出的那個地址,然后瀏覽器會將該地址跳轉到一個新的地址上去,類似這樣:http://0.0.0.0:8888/4bf26e4f-7324-4942-a21c-706575cdb34d/client:
在頁面中,有一個名為 Target url 的字段,里面的 url 便是指定的服務地址,任何客戶端一旦請求了該服務地址,他的請求信息就會被顯示在 http://0.0.0.0:8888/4bf26e4f-7324-4942-a21c-706575cdb34d/client 這個頁面上(也就是之前你跳轉得到的地址),并且是實時更新的。
參與
當前就這么幾種模式,如果你有任何問題,可以在 Github echoo 上給我提 Issues。
總結
以上是生活随笔為你收集整理的介绍 Echoo: go 语言编写的 echo 服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32学习及开发笔记八:采用主从计时
- 下一篇: 学界 | 马里兰大学研究:人脑神经网络的