Index
A
- action builders
- used, for making action logic reusable / Making an action's logic reusable and composable with action builders
- used, for making action logic composable / Making an action's logic reusable and composable with action builders
- combining / Combining action builders
- action logic
- making resuable, with action builders / Making an action's logic reusable and composable with action builders
- making composable, with action builders / Making an action's logic reusable and composable with action builders
- capturing, blocking APIs used / Capturing the logic of actions that use blocking APIs
- capturing, that require authentication / Capturing the logic of actions that require authentication
- actions
- about / Play – a framework used to write web applications
- Akka
- about / Managing execution contexts
- URL / Managing execution contexts
- application
- integrating, with preferred social network / Integrating your application with your preferred social network
- application data
- serializing, in JSON / Serializing application data in JSON
- application deployment
- about / Application deployment
- to dedicated infrastructure / Deploying to your dedicated infrastructure
- to cloud / Deploying to the cloud
- per environment configuration, handling / Handling per environment configuration
- configuration settings overriding, Java system properties used / Overriding configuration settings using Java system properties
- different configuration files, using / Using different configuration files
- architecture, web service / Testing your web service
- artifacts
- code, splitting into / Splitting your code into several artifacts
- controller layer, splitting into / Splitting your controller layer into several artifacts
- assets
- managing, from build system / Managing assets from the build system
- fingerprinting / Fingerprinting assets
- Assets controller
- about / Serving static assets
- Cache-Control header / Serving static assets
- AuthenticatedAction class / Capturing the logic of actions that require authentication
- authentication
- about / Authentication
B
- bidirectional streaming, WebSockets / Bidirectional streaming with WebSockets
- blocking APIs
- used, for capturing action logic / Capturing the logic of actions that use blocking APIs
- body parser / Reading JSON requests
- branching, template engine / Looping and branching
- build system
- assets, managing from / Managing assets from the build system
- business layer
- about / Play – a framework used to write web applications
C
- cache
- used, for saving computation time / Saving computation time using cache
- changeme / Application deployment
- client-side technologies / Philosophy of Play regarding client-side technologies
- cloud
- deploying to / Deploying to the cloud
- code
- making, injectable / Making your code injectable
- splitting, into artifacts / Splitting your code into several artifacts
- code, modularizing
- about / Modularizing your code
- inversion of control principle, applying / Applying the inversion of control principle
- dynamic calls, using in route definitions / Using dynamic calls in route definitions
- dependency injection system, setting up / Setting up a dependency injection system
- code, making injectable / Making your code injectable
- comments, template engine
- about / Comments
- components
- mocking / Mocking components
- computation time
- saving, cache used / Saving computation time using cache
- configuration files
- using / Using different configuration files
- configuration settings
- overriding, Java system properties used / Overriding configuration settings using Java system properties
- content
- serving, in several languages / Serving content in several languages
- content negotiation
- handling / Handling content negotiation
- controller layer
- splitting, into artifacts / Splitting your controller layer into several artifacts
- controllers
- about / Play – a framework used to write web applications
- controllers.Service component / Making your code injectable
- cookies
- about / Authentication
- CreateItem data type / Reading JSON requests
- cross-site request forgery (CSRF) / Cross-site request forgery
- HTTP request filters / HTTP request filters
- cross-site scripting (XSS) / Cross-site scripting
- CRUD
- about / Play – a framework used to write web applications
- CSRF filter
- using / Using the CSRF filter
- ctx.args property / Capturing the logic of actions that require authentication
- cURL
- URL / Trying the routes
D
- @DB annotation / Capturing the logic of actions that use blocking APIs
- data, persisting
- about / Persisting data
- relational database used / Using a relational database
- database management library used / Using a database management library
- database
- populating, with fixtures / Populating the database with fixtures
- database evolutions
- about / Managing database schema evolutions
- database management library
- used, for persisting data / Using a database management library
- database schema evolutions
- managing / Managing database schema evolutions
- data flow
- controlling / Controlling the data flow
- data streams
- manipulating / Manipulating data streams by combining iteratees, enumerators, and enumeratees
- DBAction class / Capturing the logic of actions that use blocking APIs
- dependency injection system
- setting up / Setting up a dependency injection system
- document fragments, template engine
- reusing / Reusing document fragments
- dynamic calls
- using, in route definitions / Using dynamic calls in route definitions
- dynamic values
- inserting / Inserting dynamic values
E
- EhCache
- URL / Saving computation time using cache
- enumerators
- used, for streaming results / Streaming results using enumerators
- evented execution model / Play application's execution model
- EventSource.whenConnected method / Transforming streams of data using enumeratees
- execution contexts
- managing / Managing execution contexts
- execution model
- overview / Play application's execution model
F
- 403 (Forbidden) response / Using the CSRF filter
- fixtures
- database, populating with / Populating the database with fixtures
G
- getOrElse method / Saving computation time using cache
- Global object / The application's Global object
H
- Haskell programming language
- URL, for tutorials / Building HTTP responses
- HOCON
- about / Play applications' layout
- HTML form data validation
- Scala form validation API / The Scala form validation API
- Java form validation API / The Java form validation API
- mandatory fields / Optional and mandatory fields
- optional fields / Optional and mandatory fields
- HTML forms
- generating / Generating HTML forms
- repeated fields / Repeated and nested fields
- nested fields / Repeated and nested fields
- data, reading / Reading and validating HTML form data
- data, validating / Reading and validating HTML form data, Validating the HTML form data
- submission, handling / Handling the HTML form submission
- validation rules and JSON validation, sharing / Sharing JSON validation and HTML form validation rules
- HTTP API
- calling, of preferred social network / Calling the HTTP API of your preferred social network
- HTTP layer
- testing / Testing the HTTP layer
- reverse router, used for generating URLs / Using the reverse router to generate URLs
- fake Play application, running / Running a fake Play application
- HTTP request filters
- about / HTTP request filters
- HTTP response
- status code / Building HTTP responses
- headers / Building HTTP responses
- body / Building HTTP responses
- HTTP responses
- building / Building HTTP responses
- application data, serializing in JSON / Serializing application data in JSON
- HTTPS
- enabling / Enabling HTTPS
- HTTP tests
- writing, effectively / Effectively writing HTTP tests
I
- import statements, template engine
- about / Import statements
- in-memory database
- using, for tests / Using an in-memory database for tests
- incremental computations
- writing, iteratees used / Writing incremental computations using iteratees
- infrastructure
- deploying to / Deploying to your dedicated infrastructure
- inversion of control principle
- applying / Applying the inversion of control principle
- iteratee, states
- Done(a, e) / Writing incremental computations using iteratees
- Error(msg, e) / Writing incremental computations using iteratees
- Cont(k) / Writing incremental computations using iteratees
- iteratees
- used, for writing incremental computations / Writing incremental computations using iteratees
J
- Jackson library
- URL / Serializing application data in JSON
- Java
- JPA, using in / Using JPA in Java
- session, manipulating / Authentication
- Java form validation API
- about / The Java form validation API
- JavaScript dependencies
- managing / Managing JavaScript dependencies
- JavaScript files
- concatenating / Concatenating and minifying JavaScript files
- minifying / Concatenating and minifying JavaScript files
- JavaScript reverse router
- using / Using the JavaScript reverse router
- JavaScript tests
- testing / Running JavaScript tests
- Java system properties
- used, for overriding configuration settings / Overriding configuration settings using Java system properties
- JPA
- using, in Java / Using JPA in Java
- JSON
- application data, serializing / Serializing application data in JSON
- JSON data
- validating / Validating JSON data
- JSON requests
- reading / Reading JSON requests
- optional values, handling / Handling optional values and recursive types
- recursive types, handling / Handling optional values and recursive types
- JSON validation
- and HTML form validation rules, sharing / Sharing JSON validation and HTML form validation rules
- JUnit tests / Writing and running tests
L
- looping, template engine / Looping and branching
N
- nested fields, HTML forms
- about / Repeated and nested fields
- non-blocking APIs
- embracing / Embracing non-blocking APIs
- non-JDBC-based persistence technology
- integrating with / Integrating with other persistence technologies
O
- 200 (OK) status
- about / Integrating your application with your preferred social network
- OAuth
- URL / Background – the OAuth 2.0 protocol
- OAuth 2.0 protocol
- about / Background – the OAuth 2.0 protocol
- OAuth client
- implementing / Implementing the OAuth client
P
- parameters fixed values, URL routing / Parameters with fixed values
- parameters type coercion, URL routing / Parameters type coercion
- path parameters, URL routing / Route path parameters
- Play
- about / Play – a framework used to write web applications, Using the template engine to build web pages
- web application, writing / Play – a framework used to write web applications
- URL / Sharing JSON validation and HTML form validation rules
- reference, for configuration options of filters / Using the CSRF filter
- Play application
- bootstrapping / Bootstrapping a Play application
- project layout / Play applications' layout
Q
- query string parameters, URL routing / Query string parameters
- query string parameters default values, URL routing / Default values of query string parameters
R
- reactive programming
- reference / Transforming streams of data using enumeratees
- relational database
- used, for persisting data / Using a relational database
- relational database, data persistence
- reference, obtaining to currently running application / Getting a reference to the currently running application
- remote web services
- calling / Calling remote web services
- repeated fields, HTML forms
- about / Repeated and nested fields
- RequireJS
- about / Concatenating and minifying JavaScript files
- URL / Concatenating and minifying JavaScript files
- REST conventions
- URL / URL routing
- results
- streaming, enumerators used / Streaming results using enumerators
- reverse router
- used, for generating URLs / Using the reverse router to generate URLs
- route
- about / URL routing
- route definitions
- dynamic calls, using / Using dynamic calls in route definitions
- router
- about / Play – a framework used to write web applications
- RxJava
- about / Transforming streams of data using enumeratees
S
- sbt
- about / Bootstrapping a Play application
- URL / Bootstrapping a Play application
- sbt-uglify plugin
- URL / Concatenating and minifying JavaScript files
- sbt-web
- URL / Managing assets from the build system
- Scala
- Slick, using in / Using Slick in Scala
- session, reading / Authentication
- Scala form validation API
- about / The Scala form validation API
- security concerns, handling
- about / Handling security concerns
- authentication / Authentication
- cross-site scripting (XSS) / Cross-site scripting
- cross-site request forgery (CSRF) / Cross-site request forgery
- HTTPS, enabling / Enabling HTTPS
- Selenium WebDriver
- URL / Writing web user interface tests
- server
- scaling up / Scaling up your server
- server-sent events
- about / Unidirectional streaming with server-sent events
- session mechanism
- about / Authentication
- Slick
- about / Using a database management library
- URL / Using a database management library
- using, in Scala / Using Slick in Scala
- social network
- application, integrating with / Integrating your application with your preferred social network
- HTTP API, calling of / Calling the HTTP API of your preferred social network
- stage command / Deploying to your dedicated infrastructure
- stateless server / Scaling up your server
- static assets
- about / Serving static assets
- serving / Serving static assets
T
- template engine
- about / Using the template engine to build web pages
- using, to build web pages / Using the template engine to build web pages
- dynamic values, inserting / Inserting dynamic values
- looping / Looping and branching
- branching / Looping and branching
- document fragments, reusing / Reusing document fragments
- comments / Comments
- import statements / Import statements
- tests
- writing / Writing and running tests
- running / Writing and running tests
- in-memory database, using for / Using an in-memory database for tests
- test sbt command / Writing and running tests
- threaded execution model / Play application's execution model
- threaded versus evented models
- reference / Play application's execution model
- Twirl
- about / Using the template engine to build web pages
- typeclasses
- about / Building HTTP responses
- Typesafe Activator
- about / Bootstrapping a Play application
- URL / Bootstrapping a Play application
U
- unidirectional streaming, server-sent events
- about / Unidirectional streaming with server-sent events
- ground, preparing / Preparing the ground
- streams of data, transforming with enumeratees / Transforming streams of data using enumeratees
- publish/subscribe, implementing with Akka / Implementing a publish/subscribe system using Akka
- URL routing
- about / URL routing
- path parameters / Route path parameters
- parameters type coercion / Parameters type coercion
- parameters fixed values / Parameters with fixed values
- query string parameters / Query string parameters
- default values, for query string parameters / Default values of query string parameters
- routes, adding / Trying the routes
- URLs
- generating, reverse router used / Using the reverse router to generate URLs
W
- web application / Delta between a web service and a web application
- web applications
- writing / Play – a framework used to write web applications
- web assets
- producing / Producing web assets
- transformations, pipelining / Pipelining web assets' transformations
- gzipping / Gzipping assets
- web page
- CSS style sheet, loading / Sprinkling some JavaScript and CSS
- JavaScript program, loading / Sprinkling some JavaScript and CSS
- web pages
- building, template engine used / Using the template engine to build web pages
- web service
- architecture / Testing your web service
- testing / Testing your web service
- HTTP layer, testing / Testing the HTTP layer
- web user interface
- tests, writing / Writing web user interface tests
- WithApplication class / Using an in-memory database for tests