M
post "/:bot_token"
А в контроллере (или с помощью plug) проверяешь
conn.path_params["bot_token"]
Size: a a a
M
post "/:bot_token"
conn.path_params["bot_token"]
SM
Application.fetch_env!/2
использовать!Application.compile_env!/2
с приходом 1.10M
Application.fetch_env!/2
использовать!System.get_env("BOT_TOKEN")
LL
Application.compile_env!/2
с приходом 1.10LL
LL
@attr Application.fetch_env!(...)
LL
SM
System.get_env("BOT_TOKEN")
pipeline :telegram doCheckBotToken:
plug :accepts, ["json"]
plug MyAppWeb.Plugs.Telegram.CheckBotToken
plug Plug.Parsers,
parsers: [MyApp.Parsers.TelegramJSON],
pass: ["*/*"]
end
scope "/webhook/:bot_token", MyAppWeb do
pipe_through :telegram
post "/", WebhookController, :update
end
defmodule MyAppWeb.Plugs.Telegram.CheckBotToken do
@behaviour Plug
import Plug.Conn
require Logger
@impl Plug
def init(opts), do: opts
@impl Plug
def call(conn, _opts) do
if Map.get(conn.path_params, "bot_token") == Nadia.Config.token() do
conn
else
Logger.warn("Incoming webhook request didn't provide a valid bot token, halting...")
conn
|> send_resp(:no_content, "")
|> halt()
end
end
end
LL
pipeline :telegram doCheckBotToken:
plug :accepts, ["json"]
plug MyAppWeb.Plugs.Telegram.CheckBotToken
plug Plug.Parsers,
parsers: [MyApp.Parsers.TelegramJSON],
pass: ["*/*"]
end
scope "/webhook/:bot_token", MyAppWeb do
pipe_through :telegram
post "/", WebhookController, :update
end
defmodule MyAppWeb.Plugs.Telegram.CheckBotToken do
@behaviour Plug
import Plug.Conn
require Logger
@impl Plug
def init(opts), do: opts
@impl Plug
def call(conn, _opts) do
if Map.get(conn.path_params, "bot_token") == Nadia.Config.token() do
conn
else
Logger.warn("Incoming webhook request didn't provide a valid bot token, halting...")
conn
|> send_resp(:no_content, "")
|> halt()
end
end
end
M
pipeline :telegram doCheckBotToken:
plug :accepts, ["json"]
plug MyAppWeb.Plugs.Telegram.CheckBotToken
plug Plug.Parsers,
parsers: [MyApp.Parsers.TelegramJSON],
pass: ["*/*"]
end
scope "/webhook/:bot_token", MyAppWeb do
pipe_through :telegram
post "/", WebhookController, :update
end
defmodule MyAppWeb.Plugs.Telegram.CheckBotToken do
@behaviour Plug
import Plug.Conn
require Logger
@impl Plug
def init(opts), do: opts
@impl Plug
def call(conn, _opts) do
if Map.get(conn.path_params, "bot_token") == Nadia.Config.token() do
conn
else
Logger.warn("Incoming webhook request didn't provide a valid bot token, halting...")
conn
|> send_resp(:no_content, "")
|> halt()
end
end
end
МБ
SM
D
handle_demand(demand, state)
, которая принимает demand
.handle_events
. Она ничего не вызывает. handle_demand
и передаёт мифическое значение demand
, которое нигде не обозначено?PG
PG
D
PG
D
[A] -> [B] -> [C]
A
загружается список ссылок, которые надо обработатьB
- несколько производителей-потребителей, которые эти ссылки обрабатывают и передают их в единственный C
C
эти обработанный данные единственным вызовом забрать.PG