介紹 Echoo: go 語言編寫的 echo 服務器

原文地址html

簡介

最近因爲要配置 nginx 服務器,裏面有個代理轉發(proxy_pass)的功能,可以將當前服務器接收到的請求轉發給其餘服務器來處理。nginx

可是在配置當中,我發現我沒法確認個人 proxy_pass 是否生效,網上現成的 echo 服務又不怎麼知足個人要求,因此就決定本身寫一個 echo 服務器,用 Golang。git

代碼

代碼在這裏 echogithub

具體的代碼就不作詳細介紹了,也就是用到了 Golang 的 http 庫,提供了一個 web 服務器和一個 websocket 服務器,使用 logrus 做爲日誌庫,原生的 template 做爲模版庫。golang

使用

該工具爲命令行工具,只可以在命令行中啓動web

啓動事後,工具會在命令行中輸出當前 web 服務器的地址,可使用瀏覽器訪問瀏覽器

clipboard.png

該工具備四種模式,經過 -m 參數來指定:服務器

-m echo

html 回聲模式,這也是該軟件默認的一種模式。他的做用就是:當你請求工具提供的 web 服務器地址時,服務器會將你剛纔發出的請求中全部信息都經過一個 html 文檔返回給你,相似下面這樣:websocket

clipboard.png

-m terminal

命令行模式,這個模式下,工具只會將請求信息顯示在終端命令行中,訪問以前的那個 url (如 http://0.0.0.0:8888)不會有任何返回結果。命令行輸出以下:socket

clipboard.png

-m file

文件模式,該模式下,工具只會將上面 terminal 模式下的請求信息寫入到指定文件,默認爲當前目錄下 logs/log.txt 文件中,但你也能夠經過 -f 自定義日誌文件地址 來自定義日誌文件存放位置。

-m ws

這個也是我最喜歡的模式了,經過 websocket 技術的使用,讓咱們可以在瀏覽器中實時觀察到指定連接的訪問信息。

該模式啓動後,照常訪問控制檯輸出的那個地址,而後瀏覽器會將該地址跳轉到一個新的地址上去,相似這樣:http://0.0.0.0:8888/4bf26e4f-7324-4942-a21c-706575cdb34d/client

clipboard.png

在頁面中,有一個名爲 Target url 的字段,裏面的 url 即是指定的服務地址,任何客戶端一旦請求了該服務地址,他的請求信息就會被顯示在 http://0.0.0.0:8888/4bf26e4f-7324-4942-a21c-706575cdb34d/client 這個頁面上(也就是以前你跳轉獲得的地址),而且是實時更新的。

參與

當前就這麼幾種模式,若是你有任何問題,能夠在 Github echoo 上給我提 Issues

相關文章
相關標籤/搜索