Rocket入門指南 第八章:中介軟體(Middleware)與整流片(Fairing) 2019 年 7 月 19 日 Magic Len 研究分享、 Rust 大多數的Web框架都會提供中介軟體(Middleware)機制,使用固定的額外程式來處理每次的HTTP請求或是HTTP回應。Rocket框架對於中介軟體的支援是依靠「整流片」(Fairing)來完成的,我們可以替任意的型別實作「fairing::Fairing」特性,使其能作為「掛鉤」(hook)來監聽Rocket框架收到HTTP請求時的事件,或是要送出HTTP回應時的事件。 繼續閱讀
Rocket入門指南 第七章:狀態(State) 2019 年 7 月 17 日 Magic Len 研究分享、 Rust Rocket框架提供了維持狀態(State)的機制,將狀態分為「應用程式狀態」和「請求狀態」兩種。前者可以將任何型別當作狀態來使用,而且可以自由、便利地使這些狀態「載入」到任意路由處理程序中;而後者則是因一個HTTP請求可能會由多個路由處理程序嘗試匹配而誕生出來的快取機制。 繼續閱讀
Rocket入門指南 第六章:進階處理HTTP請求(Request)的方式 2019 年 7 月 15 日 Magic Len 研究分享、 Rust 在這個章節中,將會介紹Rocket框架處理JSON和MessagePack請求的方式,以及Rocket框架內建的處理UUID的做法,還有提供靜態檔案(如圖片檔、CSS、JS等等的靜態資源檔)的更好方式。 繼續閱讀
Rocket入門指南 第五章:錯誤捕獲者(Error Catcher) 2019 年 7 月 13 日 Magic Len 研究分享、 Rust 在Web應用程式提供服務時,程式難免會遭遇到一些預期內或是預期外的錯誤,像是客戶端請求的網址沒有路由處理程序能夠處理、請求中的資料格式有誤(例如原本需要輸入數字的地方被輸入成字母文字)、授權逾期,或是資料庫突然連線失敗等,Web應用程式應該都要有能力避免應用程式崩潰(crash),並且照常發送HTTP回應。而Rocket框架當然預設就有處理這些錯誤的能力,開發者甚至可以利用自訂的錯誤捕獲者(Err... 繼續閱讀
Rocket入門指南 第四章:設定Rocket框架 2019 年 7 月 11 日 Magic Len 研究分享、 Rust Rocket的目標是提供一個高彈性和高可用性的組態配置系統,開發者或是系統管理員可以很輕易地對每一個別的設定項目使用環境變數、設定檔或是程式碼來進行設定。 繼續閱讀
如何用Rocket處理multipart/form-data的資料? 2019 年 7 月 9 日 Magic Len Rust 在開發Web應用程式的時候,我們常會需要透過POST請求來取得客戶端上傳的檔案資料,這時候的HTTP主體通常就會使用「multipart/form-data」格式。然而,Rocket框架並未原生支援「multipart/form-data」的資料,但使用起來限制重重,不太方便。所以這篇文章會介紹一個替代方案來處理「multipart/form-data」的資料。 繼續閱讀
Rocket入門指南 第三章:HTTP回應(Response) 2019 年 7 月 7 日 Magic Len 研究分享、 Rust 到目前為止,我們已經知道一個路由處理程序的函數可以選擇不回傳任何值,或是選擇回傳一個字串或一個字串切片。在這篇文章中,將會介紹Rocket框架所提供的多種不同的型別,來讓我們的路由處理程序能夠回應(respond)更多類型的資料。 繼續閱讀
Rocket入門指南 第二章:路由(Routing)與請求(Request)的處理 2019 年 7 月 5 日 Magic Len 研究分享、 Rust 一個Web框架最基本的功能除了提供HTTP伺服器之外,還需要進行HTTP請求(request)的路由(routing)。Rocket在這方面套用了Rust程式語言提供的程序式巨集功能,使我們可以很簡單地使用「get」、「put」、「post」、「delete」、「head」、「patch」和「options」等屬性來快速做出屬於該HTTP請求方法的路由處理程序(handler)。另外,我們也可以在... 繼續閱讀
Rocket入門指南 第一章:認識Rocket Web框架(Web Framework) 2019 年 7 月 1 日 Magic Len 研究分享、 Rust Rocket是一個使用Rust程式語言的Web框架,在伺服器端運行,任何人都可以用它來輕易地開發出高彈性、高可用性以及擁有型別安全特性的Web應用程式。這個系列文章將會帶您一步步了解Rocket框架的使用方法。 繼續閱讀
如何用Rust程式語言驗證使用者輸入的資料? 2018 年 11 月 24 日 Magic Len Rust 開發程式的時候,常會需要讓程式能與使用者或其它程式互動,透過文字介面、圖形介面或是通訊協定標準,從外部取得資料來進行更進一步的處理。尤其是當使用者在使用我們的程式時,由於我們沒有辦法限制他們輸入的資料一定要符合程式設計的格式,程式很可能就會因錯誤的輸入而造成錯誤的輸出,甚至對整個系統的安全性造成威脅。所以通常我們在處理外部進來的資料時,會先檢查它們的格式後再進行處理。 繼續閱讀