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
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

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:

    cowboy_app/lib/root_page_handler.ex 
    
    defmodule Cowboy.RootPageHandler do
      def init(_transport, req, []) do
        {:ok, req, nil}
      end
    
      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}
      end
    
      def terminate(_reason, _req, _state), do: :ok
    end
  4. Inside this same folder, create a file called dispatch.ex.

  5. Add...