Clova v0.5.0 Clova.DispatcherPlug View Source
A plug for dispatching CEK request to your Clova
implementation.
For simple skills, Clova.SkillPlug
provides a wrapper of this and related plugs.
Pass your callback module as the dispatch_to
argument to the plug.
This plug expects the request to have been parsed by Plug.Parsers
, and validated by Clova.ValidatorPlug
.
The Clova.Response
struct returned from your Clova
implementation is placed into the :clova_response
assign. To encode it to JSON, the Clova.EncoderPlug
can be used.
If you do not use Clova.EncoderPlug
, you need to encode and set the Plug.Conn
’s response body yourself:
plug Plug.Parsers,
parsers: [:json],
json_decoder: Poison,
body_reader: Clova.CachingBodyReader.spec()
plug Clova.ValidatorPlug, app_id: "com.example.my_extension"
plug Clova.DispatcherPlug, dispatch_to: MyExtension
plug :match
plug :dispatch
post "/endpoint" do
conn
|> put_resp_content_type("application/json")
|> send_resp(conn.status, Poison.encode!(conn.assigns.clova_response))
end
Link to this section Summary
Link to this section Functions
Callback implementation for Plug.call/2
.
Callback implementation for Plug.init/1
.