如何擷取 Express response 訊息並做 log 紀錄

一般在使用 express body-parser 時,我們可以很輕鬆地擷取並解析 requset body 訊息,但今天如果要擷取 response body 的訊息呢?我發現中文資料好像不是很容易找到,但如果用英文搜尋 intercept response 的關鍵詞,可以很容易查到資料。 最近剛好有個練習是,想說把所有路由進來的 request 和 response 都存 log 下來,不過中間 response 在處理時卡關了一下,解完後覺得蠻有意思的,拿出來分享一下。

Build a own ngrok server with verify ssl certificate

由於專案開發會使用到 LINE 服務,頻繁使用到 webook 和打 API 等動作,這時候在本地開發會遇到一個問題:我的開發環境沒辦法對外,怎麼測試 webhook 和第三方API?這時候 ngrok 工具就會很好用,ngrok 是一種 server relay 的機制,來實現內網穿透。將 ngrok 配置的 domain 映射到你本機 server 的服務端口,如 xxx.ngrok.com -> localhost:80。但是使用官方提供的工具難免會有些限制,像是非會員的部分,1 分鐘內 http session 只能20個以內,超過就會被暫時封鎖(過一段時間會解鎖)。若你想要不受此限制,就可以使用官方提供的 1.x 版 source code 自己編譯 ngrok client/server 。

製作一個標準的NPM模組

在做專案的當下,有時會想將某些常用的功能做成私有模組,甚至獨立公開出來變成公用模組,達到開源貢獻的精神,此舉利人利己豈不妙哉? 本篇介紹製作開源模組npm所需要注意的事項以及實作範例。

當ES6箭頭函式遇上this

某次在使用JQuery的.click()功能時,由於在callback function使用ES6的箭頭函式(Arrow Function),導致this所取得的參數並不是我期望的值(以為是這個click的element),後來研究ES6 this相關文章並實作測試後,才知道裡面有很多know how是如何運作的,真心建議有學js的要好好讀懂this的使用差異。