在 exs 文件中创建一个最小的基于插件的 http 服务器
Creating a minimal Plug based http server in an exs file
我正在尝试在仅发送字符串 'Hello World' 的 exs 文件中创建一个快速的 n 脏 http 服务器。目前是
Mix.install([{:plug_cowboy, "~> 2.0"}])
defmodule HWPlug.Plug do
import Plug.Conn
def init(options), do: options
def call(conn, _opts) do
conn
|> put_resp_content_type("text/plain")
|> send_resp(200, "Hello World!\n")
end
end
defmodule HWApp.Application do
use Application
require Logger
def start(_type, _args) do
children = [
{Plug.Cowboy, scheme: :http, plug: HWPlug.Plug, options: [port: 8080]}
]
opts = [strategy: :one_for_one, name: HWApp.Supervisor]
Logger.info("Starting application...")
Supervisor.start_link(children, opts)
end
end
Application.start(HWApp.Application)
但这不起作用。我无法像 elixir server.exs
那样执行此操作。如何在不设置混合项目的情况下创建最小的 http 服务器?
其实我发现这根本不需要Application
Mix.install([{:plug_cowboy, "~> 2.0"}])
defmodule HWPlug.Plug do
import Plug.Conn
def init(options), do: options
def call(conn, _opts) do
conn
|> put_resp_content_type("text/plain")
|> send_resp(200, "Hello World!\n")
end
end
Plug.Adapters.Cowboy.http(HWPlug.Plug, [])
有效
我正在尝试在仅发送字符串 'Hello World' 的 exs 文件中创建一个快速的 n 脏 http 服务器。目前是
Mix.install([{:plug_cowboy, "~> 2.0"}])
defmodule HWPlug.Plug do
import Plug.Conn
def init(options), do: options
def call(conn, _opts) do
conn
|> put_resp_content_type("text/plain")
|> send_resp(200, "Hello World!\n")
end
end
defmodule HWApp.Application do
use Application
require Logger
def start(_type, _args) do
children = [
{Plug.Cowboy, scheme: :http, plug: HWPlug.Plug, options: [port: 8080]}
]
opts = [strategy: :one_for_one, name: HWApp.Supervisor]
Logger.info("Starting application...")
Supervisor.start_link(children, opts)
end
end
Application.start(HWApp.Application)
但这不起作用。我无法像 elixir server.exs
那样执行此操作。如何在不设置混合项目的情况下创建最小的 http 服务器?
其实我发现这根本不需要Application
Mix.install([{:plug_cowboy, "~> 2.0"}])
defmodule HWPlug.Plug do
import Plug.Conn
def init(options), do: options
def call(conn, _opts) do
conn
|> put_resp_content_type("text/plain")
|> send_resp(200, "Hello World!\n")
end
end
Plug.Adapters.Cowboy.http(HWPlug.Plug, [])
有效