mmagスマートフォン用の表示で見るmmagハマったことメモなど2018-02-15AbsintheでContextを組み立てたりMiddlewareを挟んだりElixir最近AbsintheをつかってGraphQLサーバを実装しはじめているのですが、これどう書くんだろと思って調べたことがあったのでメモ。調べたと言ってもドキュメントに全部書いてあったので、ドキュメント写してるみたいになってる。ContextGraphQLの文脈におけるコンテキスト。GraphQLのドキュメントだとexecutionにこう書いてある。HTTPヘッダにあるJWTからユーザIDを読んで、ユーザをDBから引っ張ってきて、それをresolve/1の中で使いたい。結論としてはここに書いてあった。v1.4.7普通にPhoenixでやるのと同様、plugをつくる。connにassignするのではなくput_privateを使う。初期値の設定などしたかったので構造体を定義してるけど、普通のmapでもOK。endendrouterに仕込む。endendあとはresolveするときに、最後の引数に渡ってくるresolutionからcontextが取れる。endendAuthorization認証されてないリクエストに対してはエラーを返したい、というケース。GraphQLの前にplugを置いてしまうと、このfieldだけは誰でもquery投げてOKなんですよというニーズを満たせないので、細かくコントロールできるようにしたい。これにはMiddlewareという仕組みを使います。behaviourを実装したモジュールを書きます。call/2はresolutionを受けてresolutionを返す関数。Absinthe.Resolution.put_result/2はresolutionの状態を:resolvedにして結果を確定させる模様。endendこれをcurrent_userが無いときにエラーを返してほしいところへ書きます。endendMiddlewareもPlugと同様、単体テストが書きやすそうでいいすね。"config"]が渡ってきます。使う場所によって微妙に動きを変えたいときに使う感じですかね。v1.3からのディレクトリ構成をもう一度調べるはいこんにちは。v1.3.0-rc.0がリリースされました。...2017-01-11あっちこっちでpreload問題こんばんは。setupについてもう少し丁寧に今日の昼に書いたエントリはとても雑だったので、もう少し丁寧...2016-06-01ExUnitでdescribeが使えるようになった昨日は小言を並べました。Propertyが定義されていればそれを使い、定義されていなければデフォルト値を使うSassの変数pre-commitが便利Svelteコンポーネントをテストするときはテスト用コンポーネントを書くといい気がしたSvelteのstoreでバリデーションを実装するRenderでmonorepo管理されたアプリケーションを動かす月別アーカイブはてなブログをはじめよう!Joe_nohさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。