| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This committ includes a breaking change. The database-specific utility
"Converters" trait threw an exception "DatabaseException" defined in
the rest package, thus breaking the dependency graph. The solution was
to move the DatabaseException class from rest to database and not
inherit ServiceExceptio any more.
Unfortunately, the rest classes also require the database exception in
propagating errors so this funtionality has been removed. The
rationale is:
1. Database exceptions are rare and result in 500 errors anyway
making the status code opaque to what actual error caused it.
2. In core 2.0, an improved tracing framework will make diagnosing
and following database errors easier, thereby attenuating the need
to forward details on service exceptions in responses.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Note that xyz.driver.core.FutureExtensions was moved to
xyz.driver.core.rest as it (only) contained logic that dealt with
service exceptions, something that belongs into core-rest and must not
be depended upon by core-types.
This is a breaking change.
|
|
|
|
|
|
| |
* Remove recover from processMessage in StreatBus
* Check if queue exists before creating
|
| |
|
| |
|
|
|
|
|
| |
* Add support for extensions
* Add PathMatcher and allow parsing JSON from string
* Add a number of convenience methods which are to be used instead of `toString`
|
| |
|
|
|
|
| |
[skip ci]
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The bug manifested itself by missing authentication headers, as these
were cleared when the child trace header was set.
|
| |
|
|
|
|
|
| |
- use objects (instead of object lists) in service discovery overrides
- add project ID to bucket names
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds the concept of a 'platform', a centralized place in which
environment-specific information will be managed, and provides common
initialization logic for most "standard" apps.
As part of the common initialization, other parts of core have also
been reworked:
- HTTP-related unmarshallers and path matchers have been factored out
from core.json to a new core.rest.directives package (core.json
extends those unmarshallers and matchers for backwards
compatibility)
- CORS handling has also been moved to a dedicated utility trait
- Some custom headers have been moved from raw headers to typed ones
in core.rest.headers
- The concept of a "reporter" has been introduced. A reporter is a
context-aware combination of tracing and logging. It is intended to
issue diagnostic messages that can be traced across service
boundaries.
Closes #192
Closes #195
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Add basicSubscribeWithRestart helper method to StreamBus
* Include helper for subscribe with Flow
* PR comments
* Rename methods, call run
|
|
|
|
|
|
|
| |
* Add option and iterable converters for transparent `@@ Trimmed` creation.
* Move tagging stuff to a separate package - relieve `core.scala` from some extra code.
* Add Tagging stuff and publishing section to README.md
|
| |
|
|
|
|
| |
This change is intended to battle IE (even IE 11) caching all
GET responses (and not making any new ones) that don't list those headers
|
|
|
|
|
| |
1. Move to pure mixin-based ("stackable traits") pattern.
2. Provide a "CreateOnDemand" mixin that ensures topics and
subscriptions have been created before they are used.
|
|
|
|
| |
timeout (#210)
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This will affect development workflow: instead of running `sbt
release` to tag and publish a new version, the release process is now
as follows:
1. Create a git tag on a revision that should be published. The tag
must be in the format `v[0-9].*`
2. Push the tag to GitHub `git push --tags`
3. CI will build that tag and publish the resulting binary to our
artifactory
Since the new sbt settings do not enable advanced or risky language
features globally anymore (such as higher kinds, reflective calls and
implicit conversions), the other changes in this PR either import
language features locally or refactor the code to avoid using them
entirely.
|
|
|
|
|
|
|
|
|
|
| |
* Add semi-backwards-compatible JSON formats and path matchers for java.time.Instant and java.time.LocalDate
* Use `Clock` in `ApplicationContext` instead of `TimeProvider`, deprecate `TimeProvider`
* Add `ChangeableClock` in time package for tests
* Add generators for instants and LocalDates
|
|
|
|
|
|
| |
* Add responseToListResponse to RestService
* Make pagination optional
|
|
|
|
|
|
| |
* Add AuthorizationException and pass it through in authorize directive
* Move recover to authenticator method
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
(#136)
* Use akka's built-in authenticate/authorize directives in AuthProvider
* Move AuthProvider companion object to AuthProvider file, move realm to parameter of AuthProvider
* Add secondary constructor to maintain ABI compat
|
|
|
|
| |
LanguageCodes) (#189)
|