Wisp Example: Serving static assets

gleam run -m serving_static_assets/app  # Run the server

This example shows how to serve static assets. In this case we'll serve a CSS file for page styling and a JavaScript file for updating the content of the HTML page, but the same techniques can also be used for other file types.

This example is based off of the "Hello, World!" example, so read that one first. The additions are detailed here and commented in the code.

priv/static directory

This directory contains the static assets that will be served by the application.

app/web module

A Context type has been defined to hold the path to the directory containing the static assets.

The serve_static middleware has been added to the middleware stack to serve the static assets.

app module

The main function now starts by determining the path to the static assets directory and constructs a Context record to pass to the handler function.

app/router module

The handle_request function now returns a page of HTML.

Unit tests examples/test/serving_static_assets/

Tests have been added to ensure that the static assets are served correctly.

Other files

No changes have been made to the other files.