Files
chat-server/context/relic_hello.json
T

83 lines
68 KiB
JSON
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"code": 200,
"data": {
"description": "Once you have Dart installed, it only takes a few lines of code to set up your Relic server. These are the steps you need to take to get a simple Hello world server up and running.",
"external": {
"alternate": {
"https://docs.dartrelic.dev/getting-started/hello-world-example": {
"data-rh": "true",
"hreflang": "x-default"
}
},
"canonical": {
"https://docs.dartrelic.dev/getting-started/hello-world-example": {
"data-rh": "true"
}
},
"icon": {
"https://docs.dartrelic.dev/img/favicon.png": {
"data-rh": "true"
}
},
"preconnect": {
"https://www.google-analytics.com/": {},
"https://www.googletagmanager.com/": {}
},
"prefetch": {
"https://docs.dartrelic.dev/assets/js/0ca634c5.c40e5698.js": {},
"https://docs.dartrelic.dev/assets/js/17896441.35fb8100.js": {},
"https://docs.dartrelic.dev/assets/js/22dd74f7.32b10889.js": {},
"https://docs.dartrelic.dev/assets/js/2c10348c.c38ae9dc.js": {},
"https://docs.dartrelic.dev/assets/js/2dc195cc.c7b109bb.js": {},
"https://docs.dartrelic.dev/assets/js/441e1055.6248ef14.js": {},
"https://docs.dartrelic.dev/assets/js/4edc808e.d18ceb40.js": {},
"https://docs.dartrelic.dev/assets/js/5b00fbf1.0fa3fba9.js": {},
"https://docs.dartrelic.dev/assets/js/5e95c892.753674ac.js": {},
"https://docs.dartrelic.dev/assets/js/6783a3b2.0aa1428a.js": {},
"https://docs.dartrelic.dev/assets/js/9412f430.c708638d.js": {},
"https://docs.dartrelic.dev/assets/js/9576f52c.f029d9c3.js": {},
"https://docs.dartrelic.dev/assets/js/a7bd4aaa.b870ce93.js": {},
"https://docs.dartrelic.dev/assets/js/a94703ab.055f41b9.js": {},
"https://docs.dartrelic.dev/assets/js/a9685393.8fdc4764.js": {},
"https://docs.dartrelic.dev/assets/js/aba21aa0.1d722264.js": {},
"https://docs.dartrelic.dev/assets/js/aca04f59.28672d9f.js": {},
"https://docs.dartrelic.dev/assets/js/b4e2adc5.e5a3b2b2.js": {},
"https://docs.dartrelic.dev/assets/js/b685e31b.f5eb8692.js": {},
"https://docs.dartrelic.dev/assets/js/be2b5817.53d9f078.js": {},
"https://docs.dartrelic.dev/assets/js/c644a7fe.ad3a69e0.js": {},
"https://docs.dartrelic.dev/assets/js/c678908c.c170f033.js": {},
"https://docs.dartrelic.dev/assets/js/f22cf6c3.3fb896a1.js": {}
}
},
"html": "<html lang=\"en\" dir=\"ltr\" class=\"docs-wrapper plugin-docs plugin-id-default docs-version-1.0.0 docs-doc-page docs-doc-id-getting-started/hello-world-example\" data-has-hydrated=\"true\" data-theme=\"light\" data-theme-choice=\"system\" data-rh=\"lang,dir,class,data-has-hydrated\"><head>\n<meta charset=\"UTF-8\">\n<meta name=\"generator\" content=\"Docusaurus v3.9.2\">\n<title>Hello world | Relic</title><meta data-rh=\"true\" name=\"twitter:card\" content=\"summary_large_image\"><meta data-rh=\"true\" property=\"og:url\" content=\"https://docs.dartrelic.dev/getting-started/hello-world-example\"><meta data-rh=\"true\" property=\"og:locale\" content=\"en\"><meta data-rh=\"true\" name=\"docusaurus_locale\" content=\"en\"><meta data-rh=\"true\" name=\"docsearch:language\" content=\"en\"><link data-rh=\"true\" rel=\"icon\" href=\"/img/favicon.png\"><link data-rh=\"true\" rel=\"canonical\" href=\"https://docs.dartrelic.dev/getting-started/hello-world-example\"><link data-rh=\"true\" rel=\"alternate\" href=\"https://docs.dartrelic.dev/getting-started/hello-world-example\" hreflang=\"en\"><link data-rh=\"true\" rel=\"alternate\" href=\"https://docs.dartrelic.dev/getting-started/hello-world-example\" hreflang=\"x-default\"><link rel=\"preconnect\" href=\"https://www.google-analytics.com\">\n<link rel=\"preconnect\" href=\"https://www.googletagmanager.com\">\n<script async=\"\" src=\"https://www.googletagmanager.com/gtag/js?id=G-0EYLJMP04H\"></script>\n<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag(\"js\",new Date),gtag(\"config\",\"G-0EYLJMP04H\",{anonymize_ip:!0})</script><link rel=\"stylesheet\" href=\"/assets/css/styles.5c32dd38.css\">\n<script src=\"/assets/js/runtime~main.75ddcb03.js\" defer=\"defer\"></script>\n<script src=\"/assets/js/main.e1e75f7d.js\" defer=\"defer\"></script>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" data-rh=\"true\"><meta name=\"docusaurus_version\" content=\"1.0.0\" data-rh=\"true\"><meta name=\"docusaurus_tag\" content=\"docs-default-1.0.0\" data-rh=\"true\"><meta name=\"docsearch:version\" content=\"1.0.0\" data-rh=\"true\"><meta name=\"docsearch:docusaurus_tag\" content=\"docs-default-1.0.0\" data-rh=\"true\"><meta property=\"og:title\" content=\"Hello world | Relic\" data-rh=\"true\"><meta name=\"description\" content=\"Once you have Dart installed, it only takes a few lines of code to set up your Relic server. These are the steps you need to take to get a simple Hello world server up and running.\" data-rh=\"true\"><meta property=\"og:description\" content=\"Once you have Dart installed, it only takes a few lines of code to set up your Relic server. These are the steps you need to take to get a simple Hello world server up and running.\" data-rh=\"true\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/c678908c.c170f033.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/2dc195cc.c7b109bb.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/a9685393.8fdc4764.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/be2b5817.53d9f078.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/aca04f59.28672d9f.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/6783a3b2.0aa1428a.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/9412f430.c708638d.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/5b00fbf1.0fa3fba9.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/b685e31b.f5eb8692.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/4edc808e.d18ceb40.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/b685e31b.f5eb8692.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/4edc808e.d18ceb40.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/f22cf6c3.3fb896a1.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/9576f52c.f029d9c3.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/441e1055.6248ef14.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/2c10348c.c38ae9dc.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/c644a7fe.ad3a69e0.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/5e95c892.753674ac.js\"><link rel=\"prefetch\" href=\"/assets/js/aba21aa0.1d722264.js\"><link rel=\"prefetch\" href=\"/assets/js/a7bd4aaa.b870ce93.js\"><link rel=\"prefetch\" href=\"/assets/js/22dd74f7.32b10889.js\"><link rel=\"prefetch\" href=\"/assets/js/a94703ab.055f41b9.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/0ca634c5.c40e5698.js\"><link rel=\"prefetch\" href=\"/assets/js/17896441.35fb8100.js\"><link rel=\"prefetch\" href=\"/assets/js/b4e2adc5.e5a3b2b2.js\"></head>\n<body class=\"navigation-with-keyboard\" data-rh=\"class\" style=\"overflow: visible;\">\n<svg style=\"display: none;\"><defs>\n<symbol id=\"theme-svg-external-link\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z\"></path></symbol>\n</defs></svg>\n<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get(\"docusaurus-theme\")}catch(t){}}()||function(){try{return window.localStorage.getItem(\"theme\")}catch(t){}}();document.documentElement.setAttribute(\"data-theme\",t||(window.matchMedia(\"(prefers-color-scheme: dark)\").matches?\"dark\":\"light\")),document.documentElement.setAttribute(\"data-theme-choice\",t||\"system\")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith(\"docusaurus-data-\")){var a=t.replace(\"docusaurus-data-\",\"data-\");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=\"__docusaurus\"><link rel=\"preload\" as=\"image\" href=\"/img/logo-horizontal.svg\"><link rel=\"preload\" as=\"image\" href=\"/img/logo-horizontal-dark.svg\"><div role=\"region\" aria-label=\"Skip to main content\"><a class=\"skipToContent_fXgn\" href=\"#__docusaurus_skipToContent_fallback\">Skip to main content</a></div><nav aria-label=\"Main\" class=\"theme-layout-navbar navbar navbar--fixed-top\"><div class=\"navbar__inner\"><div class=\"theme-layout-navbar-left navbar__items\"><button aria-label=\"Toggle navigation bar\" aria-expanded=\"false\" class=\"navbar__toggle clean-btn\" type=\"button\"><svg width=\"30\" height=\"30\" viewBox=\"0 0 30 30\" aria-hidden=\"true\"><path stroke=\"currentColor\" stroke-linecap=\"round\" stroke-miterlimit=\"10\" stroke-width=\"2\" d=\"M4 7h22M4 15h22M4 23h22\"></path></svg></button><a href=\"https://serverpod.dev\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"navbar__brand\"><div class=\"navbar__logo\"><img src=\"/img/logo-horizontal.svg\" alt=\"Serverpod Logo\" class=\"themedComponent_mlkZ themedComponent--light_NVdE\"></div></a><div class=\"navbar__item dropdown dropdown--hoverable\"><a aria-current=\"page\" class=\"navbar__link active\" aria-haspopup=\"true\" aria-expanded=\"false\" role=\"button\" href=\"/getting-started/hello-world-example\">1.0.0</a><ul class=\"dropdown__menu\"><li><a class=\"dropdown__link\" href=\"/next/getting-started/hello-world-example\">Next</a></li><li><a aria-current=\"page\" class=\"dropdown__link dropdown__link--active\" href=\"/getting-started/hello-world-example\">1.0.0</a></li></ul></div></div><div class=\"theme-layout-navbar-right navbar__items navbar__items--right\"><a href=\"https://pub.dev/documentation/relic/latest/relic/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"navbar__item navbar__link\">API Reference<svg width=\"13.5\" height=\"13.5\" aria-label=\"(opens in new tab)\" class=\"iconExternalLink_nPIU\"><use href=\"#theme-svg-external-link\"></use></svg></a><a href=\"https://careers.serverpod.dev/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"navbar__item navbar__link\">Career<svg width=\"13.5\" height=\"13.5\" aria-label=\"(opens in new tab)\" class=\"iconExternalLink_nPIU\"><use href=\"#theme-svg-external-link\"></use></svg></a><a href=\"https://twitter.com/ServerpodDev\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"navbar__item navbar__link\">Twitter<svg width=\"13.5\" height=\"13.5\" aria-label=\"(opens in new tab)\" class=\"iconExternalLink_nPIU\"><use href=\"#theme-svg-external-link\"></use></svg></a><a href=\"https://github.com/serverpod/relic\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"navbar__item navbar__link\">GitHub<svg width=\"13.5\" height=\"13.5\" aria-label=\"(opens in new tab)\" class=\"iconExternalLink_nPIU\"><use href=\"#theme-svg-external-link\"></use></svg></a><div class=\"navbarSearchContainer_Bca1\"></div><div class=\"toggle_vylO colorModeToggle_DEke\"><button class=\"clean-btn toggleButton_gllP\" type=\"button\" title=\"system mode\" aria-label=\"Switch between dark and light mode (currently system mode)\"><svg viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" aria-hidden=\"true\" class=\"toggleIcon_g3eP lightToggleIcon_pyhR\"><path fill=\"currentColor\" d=\"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z\"></path></svg><svg viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" aria-hidden=\"true\" class=\"toggleIcon_g3eP darkToggleIcon_wfgR\"><path fill=\"currentColor\" d=\"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z\"></path></svg><svg viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" aria-hidden=\"true\" class=\"toggleIcon_g3eP systemToggleIcon_QzmC\"><path fill=\"currentColor\" d=\"m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z\"></path></svg></button></div></div></div><div role=\"presentation\" class=\"navbar-sidebar__backdrop\"></div></nav><div id=\"__docusaurus_skipToContent_fallback\" class=\"theme-layout-main main-wrapper mainWrapper_z2l0\"><div class=\"docsWrapper_hBAB\"><button aria-label=\"Scroll back to top\" class=\"clean-btn theme-back-to-top-button backToTopButton_sjWU\" type=\"button\"></button><div class=\"docRoot_UBD9\"><aside class=\"theme-doc-sidebar-container docSidebarContainer_YfHR\"><div class=\"sidebarViewport_aRkj\"><div class=\"sidebar_njMd\"><nav aria-label=\"Docs sidebar\" class=\"menu thin-scrollbar menu_SIkG\"><ul class=\"theme-doc-sidebar-menu menu__list\"><li class=\"theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item\"><a class=\"menu__link\" href=\"/\"><span title=\"🎯 Introduction\" class=\"linkLabel_WmDU\">🎯 Introduction</span></a></li><li class=\"theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item\"><div class=\"menu__list-item-collapsible\"><a href=\"#\" class=\"categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret menu__link--active\" role=\"button\" aria-expanded=\"true\"><span title=\"🚀 Getting started\" class=\"categoryLinkLabel_W154\">🚀 Getting started</span></a></div><ul class=\"menu__list\" style=\"display: block; overflow: visible; height: auto;\"><li class=\"theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item\"><a class=\"menu__link\" tabindex=\"0\" href=\"/getting-started/installation\"><span title=\"📦 Installation\" class=\"linkLabel_WmDU\">📦 Installation</span></a></li><li class=\"theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item\"><a class=\"menu__link menu__link--active\" aria-current=\"page\" tabindex=\"0\" href=\"/getting-started/hello-world-example\"><span title=\"👋 Hello world\" class=\"linkLabel_WmDU\">👋 Hello world</span></a></li><li class=\"theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item\"><a class=\"menu__link\" tabindex=\"0\" href=\"/getting-started/shelf-migration\"><span title=\"✈️ Migration from Shelf\" class=\"linkLabel_WmDU\">✈️ Migration from Shelf</span></a></li></ul></li><li class=\"theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item\"><div class=\"menu__list-item-collapsible\"><a href=\"#\" class=\"categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret\" role=\"button\" aria-expanded=\"true\"><span title=\"📚 Reference\" class=\"categoryLinkLabel_W154\">📚 Reference</span></a></div><ul class=\"menu__list\" style=\"display: block; overflow: visible; height: auto;\"><li class=\"theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item\"><a class=\"menu__link\" tabindex=\"0\" href=\"/reference/handlers\"><span title=\"Handlers\" class=\"linkLabel_WmDU\">Handlers</span></a></li><li class=\"theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item\"><a class=\"menu__link\" tabindex=\"0\" href=\"/reference/context\"><span title=\"Context properties\" class=\"linkLabel_WmDU\">Context properties</span></a></li><li class=\"theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item\"><a class=\"menu__link\" tabindex=\"0\" href=\"/reference/routing\"><span title=\"Routing\" class=\"linkLabel_WmDU\">Routing</span></a></li><li class=\"theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item\"><a class=\"menu__link\" tabindex=\"0\" href=\"/reference/requests\"><span title=\"Requests\" class=\"linkLabel_WmDU\">Requests</span></a></li><li class=\"theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item\"><a class=\"menu__link\" tabindex=\"0\" href=\"/reference/responses\"><span title=\"Responses\" class=\"linkLabel_WmDU\">Responses</span></a></li><li class=\"theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item\"><a class=\"menu__link\" tabindex=\"0\" href=\"/reference/body\"><span title=\"Body\" class=\"linkLabel_WmDU\">Body</span></a></li><li class=\"theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item\"><a class=\"menu__link\" tabindex=\"0\" href=\"/reference/middleware\"><span title=\"Middleware\" class=\"linkLabel_WmDU\">Middleware</span></a></li><li class=\"theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item\"><a class=\"menu__link\" tabindex=\"0\" href=\"/reference/static-files\"><span title=\"Static files\" class=\"linkLabel_WmDU\">Static files</span></a></li><li class=\"theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item\"><a class=\"menu__link\" tabindex=\"0\" href=\"/reference/hot-reload\"><span title=\"Hot reload\" class=\"linkLabel_WmDU\">Hot reload</span></a></li><li class=\"theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item\"><a class=\"menu__link\" tabindex=\"0\" href=\"/reference/pipeline\"><span title=\"Pipeline (legacy)\" class=\"linkLabel_WmDU\">Pipeline (legacy)</span></a></li></ul></li></ul></nav></div></div></aside><main class=\"docMainContainer_TBSr\"><div class=\"container padding-top--md padding-bottom--lg\"><div class=\"row\"><div class=\"col docItemCol_VOVn\"><div class=\"docItemContainer_Djhp\"><article><span class=\"theme-doc-version-badge badge badge--secondary\">Version: 1.0.0</span><div class=\"tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo\"><button type=\"button\" class=\"clean-btn tocCollapsibleButton_TO0P\">On this page</button></div><div class=\"theme-doc-markdown markdown\"><header><h1>Hello world</h1></header>\n<p>Once you have Dart installed, it only takes a few lines of code to set up your Relic server. These are the steps you need to take to get a simple <em>Hello world</em> server up and running.</p>\n<h2 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"create-a-dart-package\">Create a Dart package<a href=\"#create-a-dart-package\" class=\"hash-link\" aria-label=\"Direct link to Create a Dart package\" title=\"Direct link to Create a Dart package\" translate=\"no\">​</a></h2>\n<p>First, you need to create a new Dart package for your Relic server.</p>\n<div class=\"language-bash codeBlockContainer_Ckt0 theme-code-block\" style=\"--prism-color: #393A34; --prism-background-color: #f6f8fa;\"><div class=\"codeBlockContent_QJqH\"><pre tabindex=\"0\" class=\"prism-code language-bash codeBlock_bY9V thin-scrollbar\" style=\"color: rgb(57, 58, 52); background-color: rgb(246, 248, 250);\"><code class=\"codeBlockLines_e6Vv\"><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\">dart create </span><span class=\"token parameter variable\" style=\"color: rgb(54, 172, 170);\">-t</span><span class=\"token plain\"> console-full hello_world</span><br></span></code></pre><div class=\"buttonGroup_M5ko\"><button type=\"button\" aria-label=\"Copy code to clipboard\" title=\"Copy\" class=\"clean-btn\"><span class=\"copyButtonIcons_IEyt\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" class=\"copyButtonIcon_TrPX\"><path fill=\"currentColor\" d=\"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\"></path></svg><svg viewBox=\"0 0 24 24\" class=\"copyButtonSuccessIcon_cVMy\"><path fill=\"currentColor\" d=\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\"></path></svg></span></button></div></div></div>\n<h2 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"add-the-relic-dependency\">Add the Relic dependency<a href=\"#add-the-relic-dependency\" class=\"hash-link\" aria-label=\"Direct link to Add the Relic dependency\" title=\"Direct link to Add the Relic dependency\" translate=\"no\">​</a></h2>\n<p>Next, add the <code>relic</code> package as a dependency to your <code>pubspec.yaml</code> file.</p>\n<div class=\"language-bash codeBlockContainer_Ckt0 theme-code-block\" style=\"--prism-color: #393A34; --prism-background-color: #f6f8fa;\"><div class=\"codeBlockContent_QJqH\"><pre tabindex=\"0\" class=\"prism-code language-bash codeBlock_bY9V thin-scrollbar\" style=\"color: rgb(57, 58, 52); background-color: rgb(246, 248, 250);\"><code class=\"codeBlockLines_e6Vv\"><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token builtin class-name\">cd</span><span class=\"token plain\"> hello_world</span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\">dart pub </span><span class=\"token function\" style=\"color: rgb(215, 58, 73);\">add</span><span class=\"token plain\"> relic</span><br></span></code></pre><div class=\"buttonGroup_M5ko\"><button type=\"button\" aria-label=\"Copy code to clipboard\" title=\"Copy\" class=\"clean-btn\"><span class=\"copyButtonIcons_IEyt\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" class=\"copyButtonIcon_TrPX\"><path fill=\"currentColor\" d=\"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\"></path></svg><svg viewBox=\"0 0 24 24\" class=\"copyButtonSuccessIcon_cVMy\"><path fill=\"currentColor\" d=\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\"></path></svg></span></button></div></div></div>\n<h2 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"edit-the-main-file\">Edit the main file<a href=\"#edit-the-main-file\" class=\"hash-link\" aria-label=\"Direct link to Edit the main file\" title=\"Direct link to Edit the main file\" translate=\"no\">​</a></h2>\n<p>Edit the <code>bin/hello_world.dart</code>:</p>\n<div class=\"language-dart codeBlockContainer_Ckt0 theme-code-block\" style=\"--prism-color: #393A34; --prism-background-color: #f6f8fa;\"><div class=\"codeBlockTitle_OeMC\">Hello world server</div><div class=\"codeBlockContent_QJqH\"><pre tabindex=\"0\" class=\"prism-code language-dart codeBlock_bY9V thin-scrollbar\" style=\"color: rgb(57, 58, 52); background-color: rgb(246, 248, 250);\"><code class=\"codeBlockLines_e6Vv\"><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token keyword\" style=\"color: rgb(0, 0, 159);\">import</span><span class=\"token plain\"> </span><span class=\"token string-literal string\" style=\"color: rgb(227, 17, 108);\">'package:relic/relic.dart'</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">;</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\" style=\"display: inline-block;\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"></span><span class=\"token comment\" style=\"color: rgb(153, 153, 136); font-style: italic;\">/// A simple 'Hello World' server demonstrating basic Relic usage.</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"></span><span class=\"token class-name\">Future</span><span class=\"token generics punctuation\" style=\"color: rgb(57, 58, 52);\">&lt;</span><span class=\"token generics keyword\" style=\"color: rgb(0, 0, 159);\">void</span><span class=\"token generics punctuation\" style=\"color: rgb(57, 58, 52);\">&gt;</span><span class=\"token plain\"> </span><span class=\"token function\" style=\"color: rgb(215, 58, 73);\">main</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">(</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">)</span><span class=\"token plain\"> </span><span class=\"token keyword\" style=\"color: rgb(0, 0, 159);\">async</span><span class=\"token plain\"> </span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">{</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"> </span><span class=\"token comment\" style=\"color: rgb(153, 153, 136); font-style: italic;\">// Setup the app.</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"> </span><span class=\"token keyword\" style=\"color: rgb(0, 0, 159);\">final</span><span class=\"token plain\"> app </span><span class=\"token operator\" style=\"color: rgb(57, 58, 52);\">=</span><span class=\"token plain\"> </span><span class=\"token class-name\">RelicApp</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">(</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">)</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"> </span><span class=\"token comment\" style=\"color: rgb(153, 153, 136); font-style: italic;\">// Route with parameters (:name &amp; :age).</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"> </span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">.</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">.</span><span class=\"token keyword\" style=\"color: rgb(0, 0, 159);\">get</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">(</span><span class=\"token string-literal string\" style=\"color: rgb(227, 17, 108);\">'/user/:name/age/:age'</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">,</span><span class=\"token plain\"> helloHandler</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">)</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"> </span><span class=\"token comment\" style=\"color: rgb(153, 153, 136); font-style: italic;\">// Middleware on all paths below '/'.</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"> </span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">.</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">.</span><span class=\"token function\" style=\"color: rgb(215, 58, 73);\">use</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">(</span><span class=\"token string-literal string\" style=\"color: rgb(227, 17, 108);\">'/'</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">,</span><span class=\"token plain\"> </span><span class=\"token function\" style=\"color: rgb(215, 58, 73);\">logRequests</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">(</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">)</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">)</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"> </span><span class=\"token comment\" style=\"color: rgb(153, 153, 136); font-style: italic;\">// Custom fallback - optional (default is 404 Not Found).</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"> </span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">.</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">.</span><span class=\"token plain\">fallback </span><span class=\"token operator\" style=\"color: rgb(57, 58, 52);\">=</span><span class=\"token plain\"> </span><span class=\"token function\" style=\"color: rgb(215, 58, 73);\">respondWith</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">(</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"> </span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">(</span><span class=\"token plain\">_</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">)</span><span class=\"token plain\"> </span><span class=\"token operator\" style=\"color: rgb(57, 58, 52);\">=</span><span class=\"token operator\" style=\"color: rgb(57, 58, 52);\">&gt;</span><span class=\"token plain\"> </span><span class=\"token class-name\">Response</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">.</span><span class=\"token function\" style=\"color: rgb(215, 58, 73);\">notFound</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">(</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"> body</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">:</span><span class=\"token plain\"> </span><span class=\"token class-name\">Body</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">.</span><span class=\"token function\" style=\"color: rgb(215, 58, 73);\">fromString</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">(</span><span class=\"token string-literal string\" style=\"color: rgb(227, 17, 108);\">\"Sorry, that doesn't compute.\\n\"</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">)</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">,</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"> </span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">)</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">,</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"> </span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">)</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">;</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\" style=\"display: inline-block;\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"> </span><span class=\"token comment\" style=\"color: rgb(153, 153, 136); font-style: italic;\">// Start the server (defaults to using port 8080).</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"> </span><span class=\"token keyword\" style=\"color: rgb(0, 0, 159);\">await</span><span class=\"token plain\"> app</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">.</span><span class=\"token function\" style=\"color: rgb(215, 58, 73);\">serve</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">(</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">)</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">;</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"></span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">}</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\" style=\"display: inline-block;\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"></span><span class=\"token comment\" style=\"color: rgb(153, 153, 136); font-style: italic;\">/// Handles requests to the hello endpoint with path parameters.</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"></span><span class=\"token class-name\">Response</span><span class=\"token plain\"> </span><span class=\"token function\" style=\"color: rgb(215, 58, 73);\">helloHandler</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">(</span><span class=\"token keyword\" style=\"color: rgb(0, 0, 159);\">final</span><span class=\"token plain\"> </span><span class=\"token class-name\">Request</span><span class=\"token plain\"> req</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">)</span><span class=\"token plain\"> </span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">{</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"> </span><span class=\"token keyword\" style=\"color: rgb(0, 0, 159);\">final</span><span class=\"token plain\"> name </span><span class=\"token operator\" style=\"color: rgb(57, 58, 52);\">=</span><span class=\"token plain\"> req</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">.</span><span class=\"token plain\">rawPathParameters</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">[</span><span class=\"token plain\">#name</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">]</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">;</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"> </span><span class=\"token keyword\" style=\"color: rgb(0, 0, 159);\">final</span><span class=\"token plain\"> age </span><span class=\"token operator\" style=\"color: rgb(57, 58, 52);\">=</span><span class=\"token plain\"> int</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">.</span><span class=\"token function\" style=\"color: rgb(215, 58, 73);\">parse</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">(</span><span class=\"token plain\">req</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">.</span><span class=\"token plain\">rawPathParameters</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">[</span><span class=\"token plain\">#age</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">]</span><span class=\"token operator\" style=\"color: rgb(57, 58, 52);\">!</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">)</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">;</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\" style=\"display: inline-block;\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"> </span><span class=\"token keyword\" style=\"color: rgb(0, 0, 159);\">return</span><span class=\"token plain\"> </span><span class=\"token class-name\">Response</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">.</span><span class=\"token function\" style=\"color: rgb(215, 58, 73);\">ok</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">(</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"> body</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">:</span><span class=\"token plain\"> </span><span class=\"token class-name\">Body</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">.</span><span class=\"token function\" style=\"color: rgb(215, 58, 73);\">fromString</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">(</span><span class=\"token string-literal string\" style=\"color: rgb(227, 17, 108);\">'Hello, </span><span class=\"token string-literal interpolation punctuation\" style=\"color: rgb(57, 58, 52);\">$</span><span class=\"token string-literal interpolation expression\">name</span><span class=\"token string-literal string\" style=\"color: rgb(227, 17, 108);\">! To think you are </span><span class=\"token string-literal interpolation punctuation\" style=\"color: rgb(57, 58, 52);\">$</span><span class=\"token string-literal interpolation expression\">age</span><span class=\"token string-literal string\" style=\"color: rgb(227, 17, 108);\"> years old.\\n'</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">)</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">,</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"> </span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">)</span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">;</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\"></span><span class=\"token punctuation\" style=\"color: rgb(57, 58, 52);\">}</span><br></span></code></pre><div class=\"buttonGroup_M5ko\"><button type=\"button\" aria-label=\"Toggle word wrap\" title=\"Toggle word wrap\" class=\"clean-btn\"><svg viewBox=\"0 0 24 24\" class=\"wordWrapButtonIcon_b1P5\" aria-hidden=\"true\"><path fill=\"currentColor\" d=\"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z\"></path></svg></button><button type=\"button\" aria-label=\"Copy code to clipboard\" title=\"Copy\" class=\"clean-btn\"><span class=\"copyButtonIcons_IEyt\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" class=\"copyButtonIcon_TrPX\"><path fill=\"currentColor\" d=\"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\"></path></svg><svg viewBox=\"0 0 24 24\" class=\"copyButtonSuccessIcon_cVMy\"><path fill=\"currentColor\" d=\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\"></path></svg></span></button></div></div></div>\n<p><strong>What this code does:</strong></p>\n<ol>\n<li class=\"\"><strong>Router and route</strong>: <code>RelicApp()</code> configures routing and registers a <code>/user</code> route.</li>\n<li class=\"\"><strong>Middleware</strong>: <code>use('/', logRequests())</code> logs each request for all paths under <code>/</code>.</li>\n<li class=\"\"><strong>Server and fallback</strong>: <code>app.serve()</code> starts on port 8080; <code>fallback</code> handles unmatched routes and returns a 404 (not found).</li>\n</ol>\n<p>The result is a server that responds with a personalized greeting when you send a GET request matching <code>/user/:name/age/:age</code>.</p>\n<h3 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"running-locally\">Running locally<a href=\"#running-locally\" class=\"hash-link\" aria-label=\"Direct link to Running locally\" title=\"Direct link to Running locally\" translate=\"no\">​</a></h3>\n<p>Start your server with:</p>\n<div class=\"language-bash codeBlockContainer_Ckt0 theme-code-block\" style=\"--prism-color: #393A34; --prism-background-color: #f6f8fa;\"><div class=\"codeBlockContent_QJqH\"><pre tabindex=\"0\" class=\"prism-code language-bash codeBlock_bY9V thin-scrollbar\" style=\"color: rgb(57, 58, 52); background-color: rgb(246, 248, 250);\"><code class=\"codeBlockLines_e6Vv\"><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\">dart bin/hello_world.dart</span><br></span></code></pre><div class=\"buttonGroup_M5ko\"><button type=\"button\" aria-label=\"Copy code to clipboard\" title=\"Copy\" class=\"clean-btn\"><span class=\"copyButtonIcons_IEyt\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" class=\"copyButtonIcon_TrPX\"><path fill=\"currentColor\" d=\"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\"></path></svg><svg viewBox=\"0 0 24 24\" class=\"copyButtonSuccessIcon_cVMy\"><path fill=\"currentColor\" d=\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\"></path></svg></span></button></div></div></div>\n<p>Then, open your browser and visit <code>http://localhost:8080/user/Nova/age/27</code>, or use curl:</p>\n<div class=\"language-bash codeBlockContainer_Ckt0 theme-code-block\" style=\"--prism-color: #393A34; --prism-background-color: #f6f8fa;\"><div class=\"codeBlockContent_QJqH\"><pre tabindex=\"0\" class=\"prism-code language-bash codeBlock_bY9V thin-scrollbar\" style=\"color: rgb(57, 58, 52); background-color: rgb(246, 248, 250);\"><code class=\"codeBlockLines_e6Vv\"><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token function\" style=\"color: rgb(215, 58, 73);\">curl</span><span class=\"token plain\"> http://localhost:8080/user/Nova/age/37</span><br></span></code></pre><div class=\"buttonGroup_M5ko\"><button type=\"button\" aria-label=\"Copy code to clipboard\" title=\"Copy\" class=\"clean-btn\"><span class=\"copyButtonIcons_IEyt\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" class=\"copyButtonIcon_TrPX\"><path fill=\"currentColor\" d=\"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\"></path></svg><svg viewBox=\"0 0 24 24\" class=\"copyButtonSuccessIcon_cVMy\"><path fill=\"currentColor\" d=\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\"></path></svg></span></button></div></div></div>\n<p>You should see:</p>\n<div class=\"language-bash codeBlockContainer_Ckt0 theme-code-block\" style=\"--prism-color: #393A34; --prism-background-color: #f6f8fa;\"><div class=\"codeBlockContent_QJqH\"><pre tabindex=\"0\" class=\"prism-code language-bash codeBlock_bY9V thin-scrollbar\" style=\"color: rgb(57, 58, 52); background-color: rgb(246, 248, 250);\"><code class=\"codeBlockLines_e6Vv\"><span class=\"token-line\" style=\"color: rgb(57, 58, 52);\"><span class=\"token plain\">Hello Nova</span><span class=\"token operator\" style=\"color: rgb(57, 58, 52);\">!</span><span class=\"token plain\"> To think you are </span><span class=\"token number\" style=\"color: rgb(54, 172, 170);\">27</span><span class=\"token plain\"> years old.</span><br></span></code></pre><div class=\"buttonGroup_M5ko\"><button type=\"button\" aria-label=\"Copy code to clipboard\" title=\"Copy\" class=\"clean-btn\"><span class=\"copyButtonIcons_IEyt\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" class=\"copyButtonIcon_TrPX\"><path fill=\"currentColor\" d=\"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\"></path></svg><svg viewBox=\"0 0 24 24\" class=\"copyButtonSuccessIcon_cVMy\"><path fill=\"currentColor\" d=\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\"></path></svg></span></button></div></div></div>\n<p>Congratulations! You just ran your first Relic server.</p>\n<div class=\"theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success\"><div class=\"admonitionHeading_Gvgb\"><span class=\"admonitionIcon_Rf37\"><svg viewBox=\"0 0 12 16\"><path fill-rule=\"evenodd\" d=\"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z\"></path></svg></span>tip</div><div class=\"admonitionContent_BuS1\"><p>Relic works with <strong>hot reload</strong> out of the box. ⚡️ To use it, start your server in <em>Debug</em> mode from your IDE (or use <code>dart run --enable-vm-service bin/hello_world.dart</code>). Ensure that <em>Hot Reload On Save</em> is enabled in your IDE settings (typically, set it to <em>manual</em> which will trigger hot reload when you save your file).</p></div></div></div><footer class=\"theme-doc-footer docusaurus-mt-lg\"><div class=\"row margin-top--sm theme-doc-footer-edit-meta-row\"><div class=\"col noPrint_WFHX\"><a href=\"https://github.com/serverpod/relic/tree/main/doc/site/versioned_docs/version-1.0.0/01-getting-started/02-hello-world-example.md\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"theme-edit-this-page\"><svg fill=\"currentColor\" height=\"20\" width=\"20\" viewBox=\"0 0 40 40\" class=\"iconEdit_Z9Sw\" aria-hidden=\"true\"><g><path d=\"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z\"></path></g></svg>Edit this page</a></div><div class=\"col lastUpdated_JAkA\"></div></div></footer></article><nav class=\"docusaurus-mt-lg pagination-nav\" aria-label=\"Docs pages\"><a class=\"pagination-nav__link pagination-nav__link--prev\" href=\"/getting-started/installation\"><div class=\"pagination-nav__sublabel\">Previous</div><div class=\"pagination-nav__label\">📦 Installation</div></a><a class=\"pagination-nav__link pagination-nav__link--next\" href=\"/getting-started/shelf-migration\"><div class=\"pagination-nav__sublabel\">Next</div><div class=\"pagination-nav__label\">✈️ Migration from Shelf</div></a></nav></div></div><div class=\"col col--3\"><div class=\"tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop\"><ul class=\"table-of-contents table-of-contents__left-border\"><li><a href=\"#create-a-dart-package\" class=\"table-of-contents__link toc-highlight table-of-contents__link--active\">Create a Dart package</a></li><li><a href=\"#add-the-relic-dependency\" class=\"table-of-contents__link toc-highlight\">Add the Relic dependency</a></li><li><a href=\"#edit-the-main-file\" class=\"table-of-contents__link toc-highlight\">Edit the main file</a><ul><li><a href=\"#running-locally\" class=\"table-of-contents__link toc-highlight\">Running locally</a></li></ul></li></ul></div></div></div></div></main></div></div></div><footer class=\"theme-layout-footer footer footer--dark\"><div class=\"container container-fluid\"><div class=\"footer__bottom text--center\"><div class=\"footer__copyright\">Copyright © 2026 Serverpod authors.</div></div></div></footer></div>\n\n</body></html>",
"metadata": {
"description": "Once you have Dart installed, it only takes a few lines of code to set up your Relic server. These are the steps you need to take to get a simple Hello world server up and running.",
"docsearch:docusaurus_tag": "docs-default-1.0.0",
"docsearch:language": "en",
"docsearch:version": "1.0.0",
"docusaurus_locale": "en",
"docusaurus_tag": "docs-default-1.0.0",
"docusaurus_version": "1.0.0",
"generator": "Docusaurus v3.9.2",
"lang": "en",
"og:description": "Once you have Dart installed, it only takes a few lines of code to set up your Relic server. These are the steps you need to take to get a simple Hello world server up and running.",
"og:locale": "en",
"og:title": "Hello world | Relic",
"og:url": "https://docs.dartrelic.dev/getting-started/hello-world-example",
"twitter:card": "summary_large_image",
"viewport": "width=device-width, initial-scale=1.0"
},
"publishedTime": "Wed, 18 Feb 2026 09:05:14 GMT",
"title": "Hello world | Relic",
"url": "https://docs.dartrelic.dev/getting-started/hello-world-example",
"usage": {
"tokens": 21616
}
},
"meta": {
"usage": {
"tokens": 21616
}
},
"status": 20000
}