Current section
Files
Jump to
Current section
Files
lib/thesis/router.ex
defmodule Thesis.Router do
@moduledoc """
Creates the routes that Thesis uses to handle requests from its javascript
editor client as well as static assets.
Typically, you'll add this to your `web/web.ex` file, under the `router`
function:
def router do
quote do
use Phoenix.Router
use Thesis.Router
# ...
end
end
If you'd prefer, you can remove it from `web/web.ex` and add it to the router
yourself:
defmodule MyApp.Router do
use Thesis.Router
# ...
"""
defmacro __using__(_env) do
quote do
pipeline :thesis_pipeline do
plug Plug.Static, at: "/thesis", from: :thesis, gzip: true,
cache_control_for_etags: "public, max-age=86400",
headers: [{"access-control-allow-origin", "*"}]
plug :fetch_session
plug :fetch_flash
plug :put_secure_browser_headers
end
scope "/thesis", Thesis do
pipe_through :thesis_pipeline
get "/thesis.js", ApiController, :assets
get "/thesis.css", ApiController, :assets
put "/update", ApiController, :update
delete "/delete", ApiController, :delete
get "/backups", ApiController, :backups_for_page
get "/restore/:backup_id", ApiController, :restore
post "/files/upload", ApiController, :upload_file
post "/files/import", ApiController, :import_file
get "/files/:slug", ApiController, :show_file
end
end
end
end