Help
RSS
API
Feed
Maltego
Contact
Domain > docs.vapor.codes
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2024-07-13
18.160.78.18
(
ClassC
)
2025-08-01
99.84.66.32
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyDate: Fri, 01 Aug 2025 10:12:11 GMTContent-Type: text/htmlContent-Length: 167Connection: keep-aliveLocation: https://docs.vapor.codes/X-Cache: Redirect from cloudfrontVia: 1.1 56c69262ecfa7873b40572ba8a323242.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO50-C1Alt-Svc: h3:443; ma86400X-Amz-Cf-Id: eQXJeUWeJRP5rgaKQp5NYux0EmdRhthV9y2BUeyVh4AQanMDk5PdQAX-XSS-Protection: 1; modeblockX-Frame-Options: DENYReferrer-Policy: strict-origin-when-cross-originX-Content-Type-Options: nosniffContent-Security-Policy-Report-Only: default-src none; script-src self; img-src self data:; style-src self; font-src self; connect-src selfPermissions-Policy: accelerometer(), camera(), geolocation(), gyroscope(), magnetometer(), microphone(), payment(), usb(), interest-cohort()server: Vapor Docs html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>CloudFront/center>/body>/html>
Port 443
HTTP/1.1 200 OKContent-Type: text/htmlContent-Length: 49822Connection: keep-aliveDate: Fri, 01 Aug 2025 10:12:12 GMTLast-Modified: Mon, 28 Jul 2025 13:43:22 GMTETag: a9faa9eade13cf760f3774fff079fd0eServer: Vapor DocsX-Cache: Miss from cloudfrontVia: 1.1 56c69262ecfa7873b40572ba8a323242.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO50-C1Alt-Svc: h3:443; ma86400X-Amz-Cf-Id: WjcZiUyEMYDgStjepf8lAtrUa3PHLh8HqPaQyTGiiZcDN-20SbUW0QX-XSS-Protection: 1; modeblockX-Frame-Options: DENYReferrer-Policy: strict-origin-when-cross-originX-Content-Type-Options: nosniffStrict-Transport-Security: max-age63072000; includeSubDomainsContent-Security-Policy-Report-Only: default-src none; script-src self; img-src self data:; style-src self; font-src self; connect-src selfPermissions-Policy: accelerometer(), camera(), geolocation(), gyroscope(), magnetometer(), microphone(), payment(), usb(), interest-cohort() !doctype html>html langen classno-js> head> meta charsetutf-8> meta nameviewport contentwidthdevice-width,initial-scale1> meta namedescription contentVapors documentation (web framework for Swift).> meta nameauthor contentVapor Community> link relcanonical hrefhttps://docs.vapor.codes/> link relnext hrefinstall/macos/> link relicon hrefassets/favicon.png> meta namegenerator contentmkdocs-1.6.1, mkdocs-material-9.6.16> title>Vapor Docs/title> link relstylesheet hrefassets/stylesheets/main.7e37652d.min.css> link relstylesheet hrefassets/stylesheets/palette.06af60db.min.css> link relstylesheet typetext/css href./styles/carbon.css> script src./scripts/carbon.js>/script> link relstylesheet hrefstylesheets/syntax.css> link relstylesheet hrefstylesheets/fonts.css> script>__md_scopenew URL(.,location),__md_hashe>...e.reduce(((e,_)>(e5)-e+_.charCodeAt(0)),0),__md_get(e,_localStorage,t__md_scope)>JSON.parse(_.getItem(t.pathname+.+e)),__md_set(e,_,tlocalStorage,a__md_scope)>{try{t.setItem(a.pathname+.+e,JSON.stringify(_))}catch(e){}}/script> /head> body dirltr data-md-color-schemedefault data-md-color-primaryblack data-md-color-accentblue> input classmd-toggle data-md-toggledrawer typecheckbox id__drawer autocompleteoff> input classmd-toggle data-md-togglesearch typecheckbox id__search autocompleteoff> label classmd-overlay for__drawer>/label> div data-md-componentskip> a href#getting-started classmd-skip> Skip to content /a> /div> div data-md-componentannounce> /div> header classmd-header md-header--shadow data-md-componentheader> nav classmd-header__inner md-grid aria-labelHeader> a href. titleVapor Docs classmd-header__button md-logo aria-labelVapor Docs data-md-componentlogo> img srcassets/logo.png altlogo> /a> label classmd-header__button md-icon for__drawer> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24>path dM3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z/>/svg> /label> div classmd-header__title data-md-componentheader-title> div classmd-header__ellipsis> div classmd-header__topic> span classmd-ellipsis> Vapor Docs /span> /div> div classmd-header__topic data-md-componentheader-topic> span classmd-ellipsis> Welcome /span> /div> /div> /div> form classmd-header__option data-md-componentpalette> input classmd-option data-md-color-media(prefers-color-scheme: light) data-md-color-schemedefault data-md-color-primaryblack data-md-color-accentblue aria-labelSwitch to dark mode typeradio name__palette id__palette_0> label classmd-header__button md-icon titleSwitch to dark mode for__palette_1 hidden> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24>path dM12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-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 12z/>/svg> /label> input classmd-option data-md-color-media(prefers-color-scheme: dark) data-md-color-schemeslate data-md-color-primaryblack data-md-color-accentblue aria-labelSwitch to light mode typeradio name__palette id__palette_1> label classmd-header__button md-icon titleSwitch to light mode for__palette_0 hidden> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24>path dM12 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 12z/>/svg> /label> /form> script>var palette__md_get(__palette);if(palette&&palette.color){if((prefers-color-scheme)palette.color.media){var mediamatchMedia((prefers-color-scheme: light)),inputdocument.querySelector(media.matches?data-md-color-media(prefers-color-scheme: light):data-md-color-media(prefers-color-scheme: dark));palette.color.mediainput.getAttribute(data-md-color-media),palette.color.schemeinput.getAttribute(data-md-color-scheme),palette.color.primaryinput.getAttribute(data-md-color-primary),palette.color.accentinput.getAttribute(data-md-color-accent)}for(varkey,valueof Object.entries(palette.color))document.body.setAttribute(data-md-color-+key,value)}/script> div classmd-header__option> div classmd-select> button classmd-header__button md-icon aria-labelSelect language> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24>path dm12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z/>/svg> /button> div classmd-select__inner> ul classmd-select__list> li classmd-select__item> a href/ hreflangen classmd-select__link> English /a> /li> li classmd-select__item> a href/de/ hreflangde classmd-select__link> Deutsch /a> /li> li classmd-select__item> a href/es/ hreflanges classmd-select__link> Español /a> /li> li classmd-select__item> a href/fr/ hreflangfr classmd-select__link> Français /a> /li> li classmd-select__item> a href/it/ hreflangit classmd-select__link> Italiano /a> /li> li classmd-select__item> a href/ja/ hreflangja classmd-select__link> 日本語 /a> /li> li classmd-select__item> a href/ko/ hreflangko classmd-select__link> 한국어 /a> /li> li classmd-select__item> a href/nl/ hreflangnl classmd-select__link> Nederlands /a> /li> li classmd-select__item> a href/pl/ hreflangpl classmd-select__link> Polski /a> /li> li classmd-select__item> a href/zh/ hreflangzh classmd-select__link> 简体中文 /a> /li> /ul> /div> /div>/div> label classmd-header__button md-icon for__search> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24>path dM9.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.52 6.52 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 5/>/svg> /label> div classmd-search data-md-componentsearch roledialog> label classmd-search__overlay for__search>/label> div classmd-search__inner rolesearch> form classmd-search__form namesearch> input typetext classmd-search__input namequery aria-labelSearch placeholderSearch autocapitalizeoff autocorrectoff autocompleteoff spellcheckfalse data-md-componentsearch-query required> label classmd-search__icon md-icon for__search> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24>path dM9.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.52 6.52 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 5/>/svg> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24>path dM20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z/>/svg> /label> nav classmd-search__options aria-labelSearch> button typereset classmd-search__icon md-icon titleClear aria-labelClear tabindex-1> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24>path dM19 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 12z/>/svg> /button> /nav> div classmd-search__suggest data-md-componentsearch-suggest>/div> /form> div classmd-search__output> div classmd-search__scrollwrap tabindex0 data-md-scrollfix> div classmd-search-result data-md-componentsearch-result> div classmd-search-result__meta> Initializing search /div> ol classmd-search-result__list rolepresentation>/ol> /div> /div> /div> /div>/div> div classmd-header__source> a hrefhttp://github.com/vapor/vapor titleGo to repository classmd-source data-md-componentsource> div classmd-source__icon md-icon> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 448 512>!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.-->path fillcurrentColor dM439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4/>/svg> /div> div classmd-source__repository> Vapor GitHub /div>/a> /div> /nav> /header> div classmd-container data-md-componentcontainer> main classmd-main data-md-componentmain> div classmd-main__inner md-grid> div classmd-sidebar md-sidebar--primary data-md-componentsidebar data-md-typenavigation > div classmd-sidebar__scrollwrap> div classmd-sidebar__inner> nav classmd-nav md-nav--primary aria-labelNavigation data-md-level0> label classmd-nav__title for__drawer> a href. titleVapor Docs classmd-nav__button md-logo aria-labelVapor Docs data-md-componentlogo> img srcassets/logo.png altlogo> /a> Vapor Docs /label> div classmd-nav__source> a hrefhttp://github.com/vapor/vapor titleGo to repository classmd-source data-md-componentsource> div classmd-source__icon md-icon> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 448 512>!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.-->path fillcurrentColor dM439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4/>/svg> /div> div classmd-source__repository> Vapor GitHub /div>/a> /div> ul classmd-nav__list data-md-scrollfix> li classmd-nav__item md-nav__item--active> input classmd-nav__toggle md-toggle typecheckbox id__toc> label classmd-nav__link md-nav__link--active for__toc> span classmd-ellipsis> Welcome /span> span classmd-nav__icon md-icon>/span> /label> a href. classmd-nav__link md-nav__link--active> span classmd-ellipsis> Welcome /span> /a> nav classmd-nav md-nav--secondary aria-labelTable of contents> label classmd-nav__title for__toc> span classmd-nav__icon md-icon>/span> Table of contents /label> ul classmd-nav__list data-md-componenttoc data-md-scrollfix> li classmd-nav__item> a href#getting-started classmd-nav__link> span classmd-ellipsis> Getting Started /span> /a> /li> li classmd-nav__item> a href#other-sources classmd-nav__link> span classmd-ellipsis> Other Sources /span> /a> /li> li classmd-nav__item> a href#old-documentation classmd-nav__link> span classmd-ellipsis> Old Documentation /span> /a> /li> li classmd-nav__item> a href#authors classmd-nav__link> span classmd-ellipsis> Authors /span> /a> /li> /ul> /nav> /li> li classmd-nav__item md-nav__item--nested> input classmd-nav__toggle md-toggle typecheckbox id__nav_2 > label classmd-nav__link for__nav_2 id__nav_2_label tabindex0> span classmd-ellipsis> Install /span> span classmd-nav__icon md-icon>/span> /label> nav classmd-nav data-md-level1 aria-labelledby__nav_2_label aria-expandedfalse> label classmd-nav__title for__nav_2> span classmd-nav__icon md-icon>/span> Install /label> ul classmd-nav__list data-md-scrollfix> li classmd-nav__item> a hrefinstall/macos/ classmd-nav__link> span classmd-ellipsis> macOS /span> /a> /li> li classmd-nav__item> a hrefinstall/linux/ classmd-nav__link> span classmd-ellipsis> Linux /span> /a> /li> /ul> /nav> /li> li classmd-nav__item md-nav__item--nested> input classmd-nav__toggle md-toggle typecheckbox id__nav_3 > label classmd-nav__link for__nav_3 id__nav_3_label tabindex0> span classmd-ellipsis> Getting Started /span> span classmd-nav__icon md-icon>/span> /label> nav classmd-nav data-md-level1 aria-labelledby__nav_3_label aria-expandedfalse> label classmd-nav__title for__nav_3> span classmd-nav__icon md-icon>/span> Getting Started /label> ul classmd-nav__list data-md-scrollfix> li classmd-nav__item> a hrefgetting-started/hello-world/ classmd-nav__link> span classmd-ellipsis> Hello, world /span> /a> /li> li classmd-nav__item> a hrefgetting-started/folder-structure/ classmd-nav__link> span classmd-ellipsis> Folder Structure /span> /a> /li> li classmd-nav__item> a hrefgetting-started/spm/ classmd-nav__link> span classmd-ellipsis> SwiftPM /span> /a> /li> li classmd-nav__item> a hrefgetting-started/xcode/ classmd-nav__link> span classmd-ellipsis> Xcode /span> /a> /li> /ul> /nav> /li> li classmd-nav__item md-nav__item--nested> input classmd-nav__toggle md-toggle typecheckbox id__nav_4 > label classmd-nav__link for__nav_4 id__nav_4_label tabindex0> span classmd-ellipsis> Basics /span> span classmd-nav__icon md-icon>/span> /label> nav classmd-nav data-md-level1 aria-labelledby__nav_4_label aria-expandedfalse> label classmd-nav__title for__nav_4> span classmd-nav__icon md-icon>/span> Basics /label> ul classmd-nav__list data-md-scrollfix> li classmd-nav__item> a hrefbasics/routing/ classmd-nav__link> span classmd-ellipsis> Routing /span> /a> /li> li classmd-nav__item> a hrefbasics/controllers/ classmd-nav__link> span classmd-ellipsis> Controllers /span> /a> /li> li classmd-nav__item> a hrefbasics/content/ classmd-nav__link> span classmd-ellipsis> Content /span> /a> /li> li classmd-nav__item> a hrefbasics/client/ classmd-nav__link> span classmd-ellipsis> Client /span> /a> /li> li classmd-nav__item> a hrefbasics/validation/ classmd-nav__link> span classmd-ellipsis> Validation /span> /a> /li> li classmd-nav__item> a hrefbasics/async/ classmd-nav__link> span classmd-ellipsis> Async /span> /a> /li> li classmd-nav__item> a hrefbasics/logging/ classmd-nav__link> span classmd-ellipsis> Logging /span> /a> /li> li classmd-nav__item> a hrefbasics/environment/ classmd-nav__link> span classmd-ellipsis> Environment /span> /a> /li> li classmd-nav__item> a hrefbasics/errors/ classmd-nav__link> span classmd-ellipsis> Errors /span> /a> /li> /ul> /nav> /li> li classmd-nav__item md-nav__item--nested> input classmd-nav__toggle md-toggle typecheckbox id__nav_5 > label classmd-nav__link for__nav_5 id__nav_5_label tabindex0> span classmd-ellipsis> Fluent /span> span classmd-nav__icon md-icon>/span> /label> nav classmd-nav data-md-level1 aria-labelledby__nav_5_label aria-expandedfalse> label classmd-nav__title for__nav_5> span classmd-nav__icon md-icon>/span> Fluent /label> ul classmd-nav__list data-md-scrollfix> li classmd-nav__item> a hreffluent/overview/ classmd-nav__link> span classmd-ellipsis> Overview /span> /a> /li> li classmd-nav__item> a hreffluent/model/ classmd-nav__link> span classmd-ellipsis> Model /span> /a> /li> li classmd-nav__item> a hreffluent/relations/ classmd-nav__link> span classmd-ellipsis> Relations /span> /a> /li> li classmd-nav__item> a hreffluent/migration/ classmd-nav__link> span classmd-ellipsis> Migrations /span> /a> /li> li classmd-nav__item> a hreffluent/query/ classmd-nav__link> span classmd-ellipsis> Query /span> /a> /li> li classmd-nav__item> a hreffluent/transaction/ classmd-nav__link> span classmd-ellipsis> Transactions /span> /a> /li> li classmd-nav__item> a hreffluent/schema/ classmd-nav__link> span classmd-ellipsis> Schema /span> /a> /li> li classmd-nav__item> a hreffluent/advanced/ classmd-nav__link> span classmd-ellipsis> Advanced /span> /a> /li> /ul> /nav> /li> li classmd-nav__item md-nav__item--nested> input classmd-nav__toggle md-toggle typecheckbox id__nav_6 > label classmd-nav__link for__nav_6 id__nav_6_label tabindex0> span classmd-ellipsis> Leaf /span> span classmd-nav__icon md-icon>/span> /label> nav classmd-nav data-md-level1 aria-labelledby__nav_6_label aria-expandedfalse> label classmd-nav__title for__nav_6> span classmd-nav__icon md-icon>/span> Leaf /label> ul classmd-nav__list data-md-scrollfix> li classmd-nav__item> a hrefleaf/getting-started/ classmd-nav__link> span classmd-ellipsis> Getting Started /span> /a> /li> li classmd-nav__item> a hrefleaf/overview/ classmd-nav__link> span classmd-ellipsis> Overview /span> /a> /li> li classmd-nav__item> a hrefleaf/custom-tags/ classmd-nav__link> span classmd-ellipsis> Custom Tags /span> /a> /li> /ul> /nav> /li> li classmd-nav__item md-nav__item--nested> input classmd-nav__toggle md-toggle typecheckbox id__nav_7 > label classmd-nav__link for__nav_7 id__nav_7_label tabindex0> span classmd-ellipsis> Redis /span> span classmd-nav__icon md-icon>/span> /label> nav classmd-nav data-md-level1 aria-labelledby__nav_7_label aria-expandedfalse> label classmd-nav__title for__nav_7> span classmd-nav__icon md-icon>/span> Redis /label> ul classmd-nav__list data-md-scrollfix> li classmd-nav__item> a hrefredis/overview/ classmd-nav__link> span classmd-ellipsis> Overview /span> /a> /li> li classmd-nav__item> a hrefredis/sessions/ classmd-nav__link> span classmd-ellipsis> Sessions /span> /a> /li> /ul> /nav> /li> li classmd-nav__item md-nav__item--nested> input classmd-nav__toggle md-toggle typecheckbox id__nav_8 > label classmd-nav__link for__nav_8 id__nav_8_label tabindex0> span classmd-ellipsis> Advanced /span> span classmd-nav__icon md-icon>/span> /label> nav classmd-nav data-md-level1 aria-labelledby__nav_8_label aria-expandedfalse> label classmd-nav__title for__nav_8> span classmd-nav__icon md-icon>/span> Advanced /label> ul classmd-nav__list data-md-scrollfix> li classmd-nav__item> a hrefadvanced/middleware/ classmd-nav__link> span classmd-ellipsis> Middleware /span> /a> /li> li classmd-nav__item> a hrefadvanced/testing/ classmd-nav__link> span classmd-ellipsis> Testing /span> /a> /li> li classmd-nav__item> a hrefadvanced/server/ classmd-nav__link> span classmd-ellipsis> Server /span> /a> /li> li classmd-nav__item> a hrefadvanced/files/ classmd-nav__link> span classmd-ellipsis> Files /span> /a> /li> li classmd-nav__item> a hrefadvanced/commands/ classmd-nav__link> span classmd-ellipsis> Commands /span> /a> /li> li classmd-nav__item> a hrefadvanced/queues/ classmd-nav__link> span classmd-ellipsis> Queues /span> /a> /li> li classmd-nav__item> a hrefadvanced/websockets/ classmd-nav__link> span classmd-ellipsis> WebSockets /span> /a> /li> li classmd-nav__item> a hrefadvanced/sessions/ classmd-nav__link> span classmd-ellipsis> Sessions /span> /a> /li> li classmd-nav__item> a hrefadvanced/services/ classmd-nav__link> span classmd-ellipsis> Services /span> /a> /li> li classmd-nav__item> a hrefadvanced/request/ classmd-nav__link> span classmd-ellipsis> Request /span> /a> /li> li classmd-nav__item> a hrefadvanced/apns/ classmd-nav__link> span classmd-ellipsis> APNS /span> /a> /li> li classmd-nav__item> a hrefadvanced/tracing/ classmd-nav__link> span classmd-ellipsis> Tracing /span> /a> /li> /ul> /nav> /li> li classmd-nav__item md-nav__item--nested> input classmd-nav__toggle md-toggle typecheckbox id__nav_9 > label classmd-nav__link for__nav_9 id__nav_9_label tabindex0> span classmd-ellipsis> Security /span> span classmd-nav__icon md-icon>/span> /label> nav classmd-nav data-md-level1 aria-labelledby__nav_9_label aria-expandedfalse> label classmd-nav__title for__nav_9> span classmd-nav__icon md-icon>/span> Security /label> ul classmd-nav__list data-md-scrollfix> li classmd-nav__item> a hrefsecurity/authentication/ classmd-nav__link> span classmd-ellipsis> Authentication /span> /a> /li> li classmd-nav__item> a hrefsecurity/crypto/ classmd-nav__link> span classmd-ellipsis> Crypto /span> /a> /li> li classmd-nav__item> a hrefsecurity/passwords/ classmd-nav__link> span classmd-ellipsis> Passwords /span> /a> /li> li classmd-nav__item> a hrefsecurity/jwt/ classmd-nav__link> span classmd-ellipsis> JWT /span> /a> /li> /ul> /nav> /li> li classmd-nav__item md-nav__item--nested> input classmd-nav__toggle md-toggle typecheckbox id__nav_10 > label classmd-nav__link for__nav_10 id__nav_10_label tabindex0> span classmd-ellipsis> Deploy /span> span classmd-nav__icon md-icon>/span> /label> nav classmd-nav data-md-level1 aria-labelledby__nav_10_label aria-expandedfalse> label classmd-nav__title for__nav_10> span classmd-nav__icon md-icon>/span> Deploy /label> ul classmd-nav__list data-md-scrollfix> li classmd-nav__item> a hrefdeploy/digital-ocean/ classmd-nav__link> span classmd-ellipsis> DigitalOcean /span> /a> /li> li classmd-nav__item> a hrefdeploy/fly/ classmd-nav__link> span classmd-ellipsis> Fly /span> /a> /li> li classmd-nav__item> a hrefdeploy/heroku/ classmd-nav__link> span classmd-ellipsis> Heroku /span> /a> /li> li classmd-nav__item> a hrefdeploy/supervisor/ classmd-nav__link> span classmd-ellipsis> Supervisor /span> /a> /li> li classmd-nav__item> a hrefdeploy/systemd/ classmd-nav__link> span classmd-ellipsis> Systemd /span> /a> /li> li classmd-nav__item> a hrefdeploy/nginx/ classmd-nav__link> span classmd-ellipsis> Nginx /span> /a> /li> li classmd-nav__item> a hrefdeploy/docker/ classmd-nav__link> span classmd-ellipsis> Docker /span> /a> /li> /ul> /nav> /li> li classmd-nav__item md-nav__item--nested> input classmd-nav__toggle md-toggle typecheckbox id__nav_11 > label classmd-nav__link for__nav_11 id__nav_11_label tabindex0> span classmd-ellipsis> Contributing /span> span classmd-nav__icon md-icon>/span> /label> nav classmd-nav data-md-level1 aria-labelledby__nav_11_label aria-expandedfalse> label classmd-nav__title for__nav_11> span classmd-nav__icon md-icon>/span> Contributing /label> ul classmd-nav__list data-md-scrollfix> li classmd-nav__item> a hrefcontributing/contributing/ classmd-nav__link> span classmd-ellipsis> Contributing Guide /span> /a> /li> /ul> /nav> /li> li classmd-nav__item md-nav__item--nested> input classmd-nav__toggle md-toggle typecheckbox id__nav_12 > label classmd-nav__link for__nav_12 id__nav_12_label tabindex0> span classmd-ellipsis> Version (4.0) /span> span classmd-nav__icon md-icon>/span> /label> nav classmd-nav data-md-level1 aria-labelledby__nav_12_label aria-expandedfalse> label classmd-nav__title for__nav_12> span classmd-nav__icon md-icon>/span> Version (4.0) /label> ul classmd-nav__list data-md-scrollfix> li classmd-nav__item> a hrefversion/legacy-docs/ classmd-nav__link> span classmd-ellipsis> Legacy Docs /span> /a> /li> li classmd-nav__item> a hrefupgrading/ classmd-nav__link> span classmd-ellipsis> Upgrading /span> /a> /li> /ul> /nav> /li> li classmd-nav__item> a hrefrelease-notes/ classmd-nav__link> span classmd-ellipsis> Release Notes /span> /a> /li> /ul>/nav> /div> /div> /div> div classmd-sidebar md-sidebar--secondary data-md-componentsidebar data-md-typetoc > div classmd-sidebar__scrollwrap> div classmd-sidebar__inner> nav classmd-nav md-nav--secondary aria-labelTable of contents> label classmd-nav__title for__toc> span classmd-nav__icon md-icon>/span> Table of contents /label> ul classmd-nav__list data-md-componenttoc data-md-scrollfix> li classmd-nav__item> a href#getting-started classmd-nav__link> span classmd-ellipsis> Getting Started /span> /a> /li> li classmd-nav__item> a href#other-sources classmd-nav__link> span classmd-ellipsis> Other Sources /span> /a> /li> li classmd-nav__item> a href#old-documentation classmd-nav__link> span classmd-ellipsis> Old Documentation /span> /a> /li> li classmd-nav__item> a href#authors classmd-nav__link> span classmd-ellipsis> Authors /span> /a> /li> /ul> /nav> /div> /div> /div> div classmd-content data-md-componentcontent> article classmd-content__inner md-typeset> h1>Welcome/h1>p>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./p>h2 idgetting-started>Getting Starteda classheaderlink href#getting-started titlePermanent link>¶/a>/h2>p>If this is your first time using Vapor, head to a hrefinstall/macos/>Install → macOS/a> to install Swift and Vapor./p>p>Once you have Vapor installed, check out a hrefgetting-started/hello-world/>Getting Started → Hello, world/a> to create your first Vapor app!/p>h2 idother-sources>Other Sourcesa classheaderlink href#other-sources titlePermanent link>¶/a>/h2>p>Here are some other great places to find information about Vapor./p>table>thead>tr>th>name/th>th>description/th>th>link/th>/tr>/thead>tbody>tr>td>Vapor Discord/td>td>Chat with thousands of Vapor developers./td>td>a hrefhttps://vapor.team>visit →/a>/td>/tr>tr>td>API docs/td>td>Auto-generated documentation from code comments./td>td>a hrefhttps://api.vapor.codes>visit →/a>/td>/tr>tr>td>Stack Overflow/td>td>Ask and answer questions with the code>vapor/code> tag./td>td>a hrefhttps://stackoverflow.com/questions/tagged/vapor>visit →/a>/td>/tr>tr>td>Swift Forums/td>td>Post in Vapors section of the Swift.org forums./td>td>a hrefhttps://forums.swift.org/c/related-projects/vapor>visit →/a>/td>/tr>tr>td>Source Code/td>td>Learn how Vapor works under the hood./td>td>a hrefhttps://github.com/vapor/vapor>visit →/a>/td>/tr>tr>td>GitHub Issues/td>td>Report bugs or request features on GitHub./td>td>a hrefhttps://github.com/vapor/vapor/issues>visit →/a>/td>/tr>/tbody>/table>h2 idold-documentation>Old Documentationa classheaderlink href#old-documentation titlePermanent link>¶/a>/h2>p>Documentation for deprecated versions of Vapor that are now end-of-life can be found at a hrefhttps://legacy.docs.vapor.codes/>https://legacy.docs.vapor.codes//a>./p>h2 idauthors>Authorsa classheaderlink href#authors titlePermanent link>¶/a>/h2>p>The Vapor Core Team, and the hundreds of members of the Vapor community./p> /article> /div> script>var targetdocument.getElementById(location.hash.slice(1));target&&target.name&&(target.checkedtarget.name.startsWith(__tabbed_))/script> /div> /main> footer classmd-footer> div classmd-footer-meta md-typeset> div classmd-footer-meta__inner md-grid> div classmd-copyright> div classmd-copyright__highlight> Vapor Documentation © 2023 by Vapor is licensed under CC BY-NC-SA 4.0 /div> Made with a hrefhttps://squidfunk.github.io/mkdocs-material/ target_blank relnoopener> Material for MkDocs /a> /div> div classmd-social> a hrefhttps://twitter.com/codevapor target_blank relnoopener titletwitter.com classmd-social__link> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 512 512>!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.-->path fillcurrentColor dM459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3/>/svg> /a> a hrefhttps://discord.gg/vapor target_blank relnoopener titlediscord.gg classmd-social__link> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 576 512>!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.-->path fillcurrentColor dM492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2/>/svg> /a> a hrefhttps://github.com/vapor target_blank relnoopener titlegithub.com classmd-social__link> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 512 512>!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.-->path fillcurrentColor dM173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2/>/svg> /a> a hrefhttps://hachyderm.io/@codevapor target_blank relnoopener me titlehachyderm.io classmd-social__link> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 448 512>!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.-->path fillcurrentColor dM433 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.6-28.4-290.5 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.6-.9-9.3-.9-13.9 85.6 20.9 158.7 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5H201V197c0-58.5-64-56.6-64-6.9v114.2H90.3c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175/>/svg> /a> /div> /div> /div>/footer> /div> div classmd-dialog data-md-componentdialog> div classmd-dialog__inner md-typeset>/div> /div> script id__config typeapplication/json>{base: ., features: search.suggest, search.highlight, search: assets/javascripts/workers/search.d50fe291.min.js, tags: null, translations: {clipboard.copied: Copied to clipboard, clipboard.copy: Copy to clipboard, search.result.more.one: 1 more on this page, search.result.more.other: # more on this page, search.result.none: No matching documents, search.result.one: 1 matching document, search.result.other: # matching documents, search.result.placeholder: Type to start searching, search.result.term.missing: Missing, select.version: Select version}, version: null}/script> script srcassets/javascripts/bundle.50899def.min.js>/script> script srcjavascripts/highlight.min.js>/script> script srcjavascripts/startSyntaxHighlighting.js>/script> /body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]