Chapter 1. Introduction
Listing 1.1. Scalatra in action
Listing 1.2. Anatomy of "Hello world"
Listing 1.3. Your first Scalatra application
Chapter 2. A taste of Scalatra
Listing 2.1. Generated PagesController
Listing 2.2. A simple data storage mechanism
Listing 2.3. Retrieving a page
Listing 2.4. Using Scalate from an action
Listing 2.5. Initial page template
Listing 2.6. A Scalate layout
Listing 2.7. Testing the /pages/:slug route
Listing 2.8. Setting an expectation on the response body
Chapter 3. Routing
Listing 3.1. Fetching an artist with get
Listing 3.2. Adding a new artist with post
Listing 3.3. Updating an artist with put
Listing 3.4. Removing an artist with delete
Listing 3.5. Optimizing HEAD requests with an explicit HEAD
Listing 3.6. Returning the supported methods with options
Listing 3.7. Forbidding all OPTIONS requests
Listing 3.8. Method override example
Listing 3.9. Using method-override conventions
Listing 3.10. Static path expression
Listing 3.11. Routes with static path expressions
Listing 3.12. Path parameter example
Listing 3.13. Trailing slash
Listing 3.14. Optional format suffix
Listing 3.15. Splat example
Listing 3.16. Regular expression route
Listing 3.17. Matching mobile requests
Listing 3.18. Article normalizer
Listing 3.19. Rails matcher
Chapter 4. Working with user input
Listing 4.1. Retrieving info about specific hackers
Listing 4.2. An action that reads query string params
Listing 4.3. An action that reads a path parameter