With it being late May, the beginning of summer is right around the corner. Along with that comes a new release of our libraries. Unfortunately, there was an issue with our first attempt (19.5.0) so we created a point release (19.5.1), which fixes the problem. Here are the changes for both 19.5.0 and 19.5.1
com.twitter.finagle.http.MediaType
,
MediaType#typeEquals
for checking if two media types have the same type and
subtype, ignoring their charset, and MediaType#addUtf8Charset
for easily
setting a utf-8 charset. ec0953f1RequestLogger
Stack parameter on your Client
or Server
. ee9cb4ecNameTree.Union
‘s are ignored in the
final binding result. 2fde4d2dc.t.f.client.EndpointerModule
and c.t.f.pushsession.PushStackClient
public
and protected APIs have been changed to use the abstract java.net.SocketAddress
instead of the
concrete java.net.InetSocketAddress
as relying on the concrete implementation was not
necessary. 77a3cdfdwithMaxRequestSize(size)
API
method has been removed. For Finagle HTTP servers, the
withMaxResponseSize(size)
method has been removed. The underlying Stack
params which are set by these methods are respectively HTTP server and HTTP
client side params only. Using these removed methods had no effect on the
setup of Finagle HTTP clients and servers. 5eb3ae24StatsReceiver
implementation to use in the
underlying EmbeddedTwitterServer
instead of always providing an InMemoryStatsReceiver
implementation. 7a486fd2Filter.TypeAgnostic
implementation for the FinagleRequestScopeFilter
for better compatibility with Thrift servers. Update the FinagleRequestScope to make more idiomatic
use of Context locals. 451cff77NullValidationFinatraJacksonModule
. 401d7285c.t.inject.app.DtabResolution
to help users apply supplemental Dtabs added by
setting the dtab.add flag. This will append the supplemental Dtabs to the
Dtab.base in a premain function. 6c4eeda0postInjectorStartup
phase, such that any admin routes are available to be hit during server warmup. Simplify HttpWarmup
utility to make it clear that it can and should only be used for sending requests to endpoints added
to the server’s configured HttpRouter
. The forceRouteToAdminHttpMuxers
param has been renamed
to admin to signal that the request should be sent to the HttpRouter#adminRoutingService
instead
of the HttpRouter#externalRoutingService
. Routing to TwitterServer HTTP Admin Interface via this
utility never worked properly and the (broken) support has been dropped. 0cd3ed69com.twitter.finatra.kafka.test.KafkaTopic
, and
com.twitter.finatra.kafka.test.utils.PollUtils
methods to take
com.twitter.util.Duration
instead of org.joda.time.Duration
. 94c051b3com.twitter.finatra.http.EmbeddedHttpServer
methods which previously used the
routeToAdminServer
parameter have been changed to use a RouteHint
instead for added
flexibility in controlling where a test request is sent. 4653992cFeatureTestMixin.printStats
and setting it to true. 28eecabecom.twitter.inject.utils.RetryPolicyUtils
,
com.twitter.inject.thrift.modules.FilteredThriftClientModule
, and
com.twitter.inject.thrift.filters.ThriftClientFilterChain
methods to take
com.twitter.util.Duration
instead of org.joda.time.Duration
. c295efb0org.apache.commons-fileupload
from version
1.3.1 to version 1.4. This closes #PR-497. d5d32737com.google.common.net.MediaType
with String.
You can migrate by calling MediaType#toString
everywhere you passed a MediaType
before. 826fabb2http
scope to shutdown.time
flag, making it http.shutdown.time
.
2abb46f8DefaultExceptionMapper
. Extend
c.t.finatra.http.exceptions.ExceptionMapper[Throwable]
directly instead. cd2d5be3com.twitter.app.App#failfastOnFlagsNotParsed
up from
c.t.inject.server.TwitterServer
to com.twitter.inject.app.App
such that all Finatra-based
applications default to this behavior. feb887e0c.t.app.Flags
instance to match the semantics of directly calling c.t.app.Flags#add
. Prefer AtomicBoolean
instances over where we currently use mutable Boolean instances in c.t.inject.app.App
, c.t.inject.app.TestInjector
,
and c.t.inject.server.EmbeddedTwitterServer
. 2dfd33b5c.t.finatra.http.RouteHint
was missing from the test-jar sources and has
been added. 7945d128DateTime
deserialization. abb17d5aEmbeddedHttpServer
’s httpGetJson
method now properly passes
all parameters through to the underlying client call. 068cd440(ReqRep)ServicePerEndpoint
now provide a proper filtered
method by default. e46b2785DuplicateFlagDefinitions
lint rule which is violated when multiple Flags
with the same
name are added to the underlying com.twitter.app.App#flag com.twitter.app.Flags instance. fe231c9aFlag
names. Currently, we print a warning to
stderr but do not track the duplicated Flag
names. Tracking them allows us to inspect and
warn over the entire set. 4875552e