class
Analyzer::Dart::GetServer
- Analyzer::Dart::GetServer
- Analyzer
- Reference
- Object
Overview
get_server (package:get_server/get_server.dart) is a GetX-style Dart
server framework. Routes are declared as a list of GetPage entries
passed to GetServer(getPages: ...):
GetServer(getPages: AppPages.routes);
class AppPages { static final routes = [ GetPage(name: Routes.HOME, page: () => HomePage(), method: Method.get), GetPage(name: Routes.USER, page: () => UserPage()), // any verb GetPage(name: '/upload', page: () => UploadPage(), method: Method.post), ]; }
class Routes { static const HOME = '/'; static const USER = '/user/:name'; }
name: is either a string literal or a reference to a static const
path (often declared in a separate part file), so path constants are
collected project-wide and resolved by name. method: maps to a verb;
when omitted it defaults to Method.dynamic, which matches every HTTP
method. Method.ws is a WebSocket upgrade (surfaced as GET). Path
captures use the Express-style :id syntax → {id}.
Defined in:
analyzer/analyzers/dart/get_server.crConstant Summary
-
ALL_VERBS =
["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"] -
CONST_REGEX =
/\bconst\s+(?:String\s+)?([A-Za-z_]\w*)\s*=\s*(['"])/ -
static const NAME = '/path'(and plainconst NAME = '/path') path constants, keyed by the bare constant name. Only string-literal values are kept — those are the route paths referenced byGetPage. -
GET_PAGE_REGEX =
/\bGetPage\s*\(/ -
INTERP_BARE =
/\$([A-Za-z_]\w*)/ -
INTERP_BRACE =
/\$\{([^}]+)\}/ -
METHOD_MAP =
{"get" => "GET", "post" => "POST", "put" => "PUT", "delete" => "DELETE", "patch" => "PATCH", "options" => "OPTIONS", "head" => "HEAD"}