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

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

原文地址

簡介

最近由於要配置 nginx 伺服器,裡面有個代理轉寄(proxy_pass)的功能,能夠將當前伺服器接收到的請求轉寄給其他伺服器來處理。

但是在配置當中,我發現我無法確認我的 proxy_pass 是否生效,網上現成的 echo 服務又不怎麼滿足我的要求,所以就決定自己寫一個 echo 伺服器,用 Golang。

代碼

代碼在這裡 echo

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

使用

該工具為命令列工具,只能夠在命令列中啟動

啟動過後,工具會在命令列中輸出當前 網頁伺服器的地址,可以使用瀏覽器訪問

該工具有四種模式,通過 -m 參數來指定:

-m echo

html 回聲模式,這也是該軟體預設的一種模式。他的作用就是:當你請求工具提供的 網頁伺服器地址時,伺服器會將你剛才發出的請求中所有資訊都通過一個 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。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.