已知限制
本頁列出依目前原始碼(v0.1.2)確認的行為限制與缺陷,以及可行的避開方式。
解析
| 限制 | 影響 | 避開方式 |
|---|---|---|
請求未以單獨一行 ### 結束(只寫下一個 ### 名稱 也算)且沒有 Body |
遇到下一個請求行時前一個請求被丟棄,不出現在清單(internal/parser/parser.go:69) |
每個請求後都寫單獨一行 ### |
不支援變數(@name = value、{{name}})與環境檔 |
變數原樣送出,@ 行可能被併入 Body |
直接寫入實際值 |
請求行尾的 HTTP/1.1 被併入 URL |
送出時 URL 含空白與版本字串 | 請求行只寫 METHOD URL |
| 方法須大寫 | get https://... 不被辨識為請求行 |
使用大寫方法 |
Header 以 map 儲存 |
顯示順序不固定;同名 Header 只保留最後一個 | 需多值時以逗號合併成一行 |
傳輸
| 限制 | 影響 |
|---|---|
| 逾時固定 120 秒且涵蓋讀取 Body | SSE 或長時間下載超過 120 秒會被中斷 |
一般回應以 io.ReadAll 整包讀入 |
大型回應會完整載入記憶體 |
SSE Events 為行數除以 2 |
多行事件時數字與實際事件數不符 |
檔案監控
| 限制 | 影響 | 避開方式 |
|---|---|---|
只處理 fsnotify.Write/fsnotify.Create 事件 |
以改名覆蓋方式存檔的編輯器在第一次存檔後即失去監控 | 調整編輯器為直接覆寫,或重新啟動 gorc |
| 游標依索引還原 | 在目前請求之前增刪請求,游標會指向不同請求 | 重載後確認左欄選取項 |
| 建立監控器失敗時程式未結束 | 隨後的 watcher.Add 以 nil 監控器執行,程式無法正常啟動 |
確認系統檔案監控資源(如 inotify 上限)充足 |