Book Image

Elixir Cookbook

By : Paulo Pereira
Book Image

Elixir Cookbook

By: Paulo Pereira

Overview of this book

Table of Contents (16 chapters)
Elixir Cookbook
About the Author
About the Reviewers

Serving static files

In this recipe, we will take our configured Cowboy application and add the ability to serve static files requested via HTTP.

Getting ready

We will start by opening the source files in the Code/Chapter 7/cowboy_static/cowboy_app folder in our favorite editor.

How to do it…

To add the ability to serve static files to our application, follow these steps:

  1. Create a new folder inside the lib directory and name it cowboy.

  2. Inside this new folder, create a file named root_page_handler.ex.

  3. Add the following code to the file:

    defmodule Cowboy.RootPageHandler do
      def init(_transport, req, []) do
        {:ok, req, nil}
      def handle(req, state) do
        {:ok, req} = :cowboy_req.chunked_reply(200, req)
        :ok = :cowboy_req.chunk("Root page text rendered by the handler. No file defining this content!\r\n", req)
        {:ok, req, state}
      def terminate(_reason, _req, _state), do: :ok
  4. Inside this same folder, create a file called dispatch.ex.

  5. Add...