docs.vapor.codes Open in urlscan Pro
2600:9000:275d:7200:1e:aea4:b980:93a1  Public Scan

Submitted URL: http://docs.vapor.codes/
Effective URL: https://docs.vapor.codes/
Submission: On April 09 via api from US — Scanned from ES

Form analysis 2 forms found in the DOM

<form class="md-header__option" data-md-component="palette">
  <input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="black" data-md-color-accent="blue" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_0">
  <label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
      <path
        d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z">
      </path>
    </svg>
  </label>
  <input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="black" data-md-color-accent="blue" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_1">
  <label class="md-header__button md-icon" title="Switch to light mode" for="__palette_0" hidden="">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
      <path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"></path>
    </svg>
  </label>
</form>

Name: search

<form class="md-search__form" name="search">
  <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required="">
  <label class="md-search__icon md-icon" for="__search">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
      <path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path>
    </svg>
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
      <path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"></path>
    </svg>
  </label>
  <nav class="md-search__options" aria-label="Search">
    <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
        <path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"></path>
      </svg>
    </button>
  </nav>
  <div class="md-search__suggest" data-md-component="search-suggest"></div>
</form>

Text Content

Skip to content

Vapor Docs
Welcome

 * English
 * 简体中文
 * Nederlands
 * Français
 * German
 * Italiano
 * Español
 * Polski
 * 한국어
 * 日本語

Type to start searching
Vapor GitHub
 * 4.92.6
 * 23.8k
 * 1.4k

Vapor Docs
Vapor GitHub
 * 4.92.6
 * 23.8k
 * 1.4k

 * Welcome Welcome
   Table of contents
    * Getting Started
    * Other Sources
    * Old Documentation
    * Authors

 * Install
   Install
    * macOS
    * Linux

 * Getting Started
   Getting Started
    * Hello, world
    * Folder Structure
    * SwiftPM
    * Xcode

 * Basics
   Basics
    * Routing
    * Controllers
    * Content
    * Client
    * Validation
    * Async
    * Logging
    * Environment
    * Errors

 * Fluent
   Fluent
    * Overview
    * Model
    * Relations
    * Migrations
    * Query
    * Transactions
    * Schema
    * Advanced

 * Leaf
   Leaf
    * Getting Started
    * Overview
    * Custom Tags

 * Redis
   Redis
    * Overview
    * Sessions

 * Advanced
   Advanced
    * Middleware
    * Testing
    * Server
    * Files
    * Commands
    * Queues
    * WebSockets
    * Sessions
    * Services
    * Request
    * APNS

 * Security
   Security
    * Authentication
    * Crypto
    * Passwords
    * JWT

 * Deploy
   Deploy
    * DigitalOcean
    * Fly
    * Heroku
    * Supervisor
    * Systemd
    * Nginx
    * Docker

 * Contributing
   Contributing
    * Contributing Guide

 * Version (4.0)
   Version (4.0)
    * Legacy Docs
    * Upgrading

 * Release Notes

Table of contents
 * Getting Started
 * Other Sources
 * Old Documentation
 * Authors

I've spent 2 years learning DNS while building NSLookup.io. Now, I'm teaching
everything I know. ads via Carbon


WELCOME

Welcome to the Vapor Documentation! Vapor is a web framework for Swift, allowing
you to write backends, web apps APIs and HTTP servers in Swift. Vapor is written
in Swift, which is a modern, powerful and safe language providing a number of
benefits over the more traditional server languages.


GETTING STARTED¶

If this is your first time using Vapor, head to Install → macOS to install Swift
and Vapor.

Once you have Vapor installed, check out Getting Started → Hello, world to
create your first Vapor app!


OTHER SOURCES¶

Here are some other great places to find information about Vapor.

name description link Vapor Discord Chat with thousands of Vapor developers.
visit → API docs Auto-generated documentation from code comments. visit → Stack
Overflow Ask and answer questions with the vapor tag. visit → Swift Forums Post
in Vapor's section of the Swift.org forums. visit → Source Code Learn how Vapor
works under the hood. visit → GitHub Issues Report bugs or request features on
GitHub. visit →


OLD DOCUMENTATION¶

Documentation for deprecated versions of Vapor that are now end-of-life can be
found at https://legacy.docs.vapor.codes/.


AUTHORS¶

The Vapor Core Team, and the hundreds of members of the Vapor community.

Vapor Documentation © 2023 by Vapor is licensed under CC BY-NC-SA 4.0
Made with Material for MkDocs