LiveApp
The live layer, mixed into an http-layer application: everything Live.mount needs on the server, contributed through frameworkRoutes so every way of serving — boot's default, an overridden boot calling serve, dev — carries it without knowing.
The umbrella's EezoApp extends this, so an application on eezo mounts components with no configuration at all. An application on eezo-http alone opts in by writing extends LiveApp instead of extends HttpApp. The cost when unused is one WebSocket route, one script route, and an idle registry.
Attributes
- Source
- LiveApp.scala
- Graph
-
- Supertypes
- Known subtypes
-
trait EezoApp
Members list
Value members
Concrete methods
Origins other than the server's own whose pages may open a live socket, each written scheme://host or scheme://host:port. Empty by default, because the page and its socket come from the same server unless something in between rewrites the Host the browser asked for. That something is usually a proxy, and forwarding the browser's Host is the better fix; this list is for when it cannot. Matching is exact, with no wildcard, since a pattern that admits a subdomain admits whoever controls that subdomain. An entry that is not an origin fails the boot.
Origins other than the server's own whose pages may open a live socket, each written scheme://host or scheme://host:port. Empty by default, because the page and its socket come from the same server unless something in between rewrites the Host the browser asked for. That something is usually a proxy, and forwarding the browser's Host is the better fix; this list is for when it cannot. Matching is exact, with no wildcard, since a pattern that admits a subdomain admits whoever controls that subdomain. An entry that is not an origin fails the boot.
Attributes
- Source
- LiveApp.scala
Routes the framework itself contributes, appended to whatever table serve is given so that every caller — boot's default, a user's own serve in an overridden boot, dev — serves them without knowing they exist. Empty here: eezo-live's LiveApp overrides it with the live socket and its client script, and EezoApp mixes that in. Appended, so the user's table keeps winning any path both name; they show in the boot listing (they are served, and the listing does not lie) but not in eezo routes, which is the user's table.
Routes the framework itself contributes, appended to whatever table serve is given so that every caller — boot's default, a user's own serve in an overridden boot, dev — serves them without knowing they exist. Empty here: eezo-live's LiveApp overrides it with the live socket and its client script, and EezoApp mixes that in. Appended, so the user's table keeps winning any path both name; they show in the boot listing (they are served, and the listing does not lie) but not in eezo routes, which is the user's table.
Attributes
- Definition Classes
- Source
- LiveApp.scala
Inherited methods
The application. The default serves routes on port, which is what makes the minimal application one override and nothing else. Override it for anything more: background work, another setup, no server at all.
The application. The default serves routes on port, which is what makes the minimal application one override and nothing else. Override it for anything more: background work, another setup, no server at all.
Attributes
- Inherited from:
- HttpApp
- Source
- HttpApp.scala
The commands this application answers, as first argument :: rest. Nil is program and is answered here, once, so no layer owns it. Each layer writes own orElse super.commands for its own commands, so the later mixin's arms are consulted first.
The commands this application answers, as first argument :: rest. Nil is program and is answered here, once, so no layer owns it. Each layer writes own orElse super.commands for its own commands, so the later mixin's arms are consulted first.
Attributes
- Definition Classes
- Inherited from:
- HttpApp
- Source
- HttpApp.scala
What dev serves. The umbrella overrides it to run the drift check first and serve the drift page when the check blocks.
What dev serves. The umbrella overrides it to run the drift check first and serve the drift page when the check blocks.
Attributes
- Inherited from:
- HttpApp
- Source
- HttpApp.scala
The frame every HTML reply comes back in, the derived pages, the login page and the error page included. eezo's plain one unless the application names its own here, which is the one place a frame can be chosen, so that no route has to remember to ask for it.
The frame every HTML reply comes back in, the derived pages, the login page and the error page included. eezo's plain one unless the application names its own here, which is the one place a frame can be chosen, so that no route has to remember to ask for it.
Attributes
- Inherited from:
- HttpApp
- Source
- HttpApp.scala
Attributes
- Inherited from:
- Dispatch
- Source
- Dispatch.scala
The request body cap, and the WebSocket text message cap with it.
The request body cap, and the WebSocket text message cap with it.
Attributes
- Inherited from:
- HttpApp
- Source
- HttpApp.scala
Where boot's default and the dev command serve.
Where boot's default and the dev command serve.
Attributes
- Inherited from:
- HttpApp
- Source
- HttpApp.scala
How the application's own failures are answered: a partial function from what a handler threw to the problem the client sees. What it does not cover, the boundary answers as 500.
How the application's own failures are answered: a partial function from what a handler threw to the problem the client sees. What it does not cover, the boundary answers as 500.
Attributes
- Inherited from:
- HttpApp
- Source
- HttpApp.scala
What sbt run does on this layer alone: boot, under nothing. The umbrella overrides it to run the same boot under the database layer's lifecycle, the way it overrides devServer. No override here, deliberately: see Dispatch.program.
What sbt run does on this layer alone: boot, under nothing. The umbrella overrides it to run the same boot under the database layer's lifecycle, the way it overrides devServer. No override here, deliberately: see Dispatch.program.
Attributes
- Inherited from:
- HttpApp
- Source
- HttpApp.scala
The key the session cookie is signed with. EEZO_SECRET by default. The sbt plugin's dev loop sets it to one secret per sbt session, so a restart on edit keeps the developer signed in. A run outside that loop with nothing set gets a throwaway announced at WARNING, so that hello runs with no configuration and a deployment that forgot is told. Read once, when serve boots.
The key the session cookie is signed with. EEZO_SECRET by default. The sbt plugin's dev loop sets it to one secret per sbt session, so a restart on edit keeps the developer signed in. A run outside that loop with nothing set gets a throwaway announced at WARNING, so that hello runs with no configuration and a deployment that forgot is told. Read once, when serve boots.
Attributes
- Inherited from:
- HttpApp
- Source
- HttpApp.scala
The only caller of HttpServer.run: boots the server on this trait's overrides and blocks until it stops. dev turns the listing and the reload client on.
The only caller of HttpServer.run: boots the server on this trait's overrides and blocks until it stops. dev turns the listing and the reload client on.
Attributes
- Inherited from:
- HttpApp
- Source
- HttpApp.scala
One row per command, for help. Each layer writes own ++ super.usage, and names only the spelling and the description: the columns are help's to lay out, once, over every layer's rows together, so no layer has to guess how wide the others' spellings are.
One row per command, for help. Each layer writes own ++ super.usage, and names only the spelling and the description: the columns are help's to lay out, once, over every layer's rows together, so no layer has to guess how wide the others' spellings are.
Attributes
- Definition Classes
- Inherited from:
- HttpApp
- Source
- HttpApp.scala
Inherited and Abstract methods
The route table, usually Routes.table() from the sbt plugin's generated object. Abstract: an http layer is its routes, and an application without any is a mistake.
The route table, usually Routes.table() from the sbt plugin's generated object. Abstract: an http layer is its routes, and an application without any is a mistake.
Attributes
- Inherited from:
- HttpApp
- Source
- HttpApp.scala