問題タブ [scotty]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
haskell - co-log の withLog を Scotty と連携させるには?
すでにRedditで質問しましたが、より広いサークルに助けを求めたかったのです。
最小限のテスト ケースで実行できるコードのリポジトリは次のとおりです: https://github.com/cideM/co_log_issue
実行すると、次のstack build
ようになります。
このインスタンスの書き方がわかりません。
と を比較co-log
してみましたKatip
。Scotty ルート ハンドラー (より正確にはハンドラーのラッパー) があり、そのハンドラー内でアプリ環境のログ アクションを変更したいと考えています。ここでの使用例は、ロガーのコンテキストに追加して、後続のすべてのログ アクションの先頭に文字列などを自動的に追加することです。
ハンドラーの関連部分は次のとおりです。
ただし、withLog
関数はエラーを引き起こします。
これは理にかなっています。なぜなら、do
ブロック内のすべてが でwithLog
ありScotty.ActionT TL.Text m()
、同じスコープ内でそれを持ち上げることができないからです。で同様の問題がありましkatip
た。
GHC のバグが原因で、インスタンスを派生させることができません。
そのバグがなくても、派生できるかどうかはわかりません。ダンプされた派生インスタンスを操作しようとしましたが (結果のコードがコンパイルされなかったとしても)、最終的には機能しませんでした:
私にくれます
欠けているもの
そして、私が導き出すことはできません
私はアイデアがありません。
haskell - Scotty エンドポイントをテストする方法
次のScottyエンドポイントを使用します。
myendpoint
たとえば、さまざまな可能な入力でテストする方法
API を別のスレッドで単純に実行してから、JSON を使用して実際にエンドポイントをクエリしたくなるのですが、これを行うためのよりクリーンな方法はありますか? (ただし、上記の利点は実際のエンドツーエンドのテストになります)