@Bean Request.Options feignOptions() { return new Request.Options(5000, 5000); }
connection.setConnectTimeout(options.connectTimeoutMillis()); connection.setReadTimeout(options.readTimeoutMillis()); connection.setAllowUserInteraction(false); connection.setInstanceFollowRedirects(true);
if (configOverride != null) { RibbonProperties ribbon = RibbonProperties.from(configOverride); options = new Request.Options( ribbon.connectTimeout(this.connectTimeout), ribbon.readTimeout(this.readTimeout)); options = new Request.Options(this.connectTimeout, this.readTimeout);
(client instanceof Configurable ? RequestConfig.copy(((Configurable) client).getConfig()) : RequestConfig.custom()) .setConnectTimeout(options.connectTimeoutMillis()) .setSocketTimeout(options.readTimeoutMillis()) .build(); requestBuilder.setConfig(requestConfig);
if (configOverride != null) { RibbonProperties ribbon = RibbonProperties.from(configOverride); options = new Request.Options( ribbon.connectTimeout(this.connectTimeout), ribbon.readTimeout(this.readTimeout)); options = new Request.Options(this.connectTimeout, this.readTimeout);
.setConnectTimeout(options.connectTimeoutMillis()) .setSocketTimeout(options.readTimeoutMillis()) .build(); requestBuilder.setConfig(requestConfig);
if (readTimeout == 0) readTimeout = conf.getInt(PROP_READ_TIMEOUT, 10*1000); builder.options(new Options(connectTimeout, readTimeout)); Object t = null; if (useHystrix) {
builder.options(new Request.Options(config.getConnectTimeout(), config.getReadTimeout()));
builder.options(new Request.Options(config.getConnectTimeout(), config.getReadTimeout()));
options = options == null ? new Request.Options() : options; int connectTimeout = config.getConnectTimeout() == null ? options.connectTimeoutMillis() : config.getConnectTimeout(); int readTimeout = config.getReadTimeout() == null ? options.readTimeoutMillis() : config.getReadTimeout(); builder.options(new Request.Options(connectTimeout, readTimeout));
requestOptions = new Request.Options((int) TimeUnit.MINUTES.toMillis(10), (int) TimeUnit.MINUTES.toMillis(30));
.requestInterceptor(new TwitchClientIdInterceptor(this)) .retryer(new Retryer.Default(1, 10000, 3)) .options(new Request.Options(5000, 15000)) .target(TwitchHelix.class, baseUrl);
/** * Twitch API Client (Helix) * * @return TwitchHelix */ public TwitchMessagingInterface build() { log.debug("TMI: Initializing Module ..."); ConfigurationManager.getConfigInstance().setProperty("hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds", 2500); TwitchMessagingInterface client = HystrixFeign.builder() .encoder(new JacksonEncoder()) .decoder(new JacksonDecoder()) .logger(new Logger.ErrorLogger()) .errorDecoder(new TwitchMessagingInterfaceErrorDecoder(new JacksonDecoder())) .logLevel(Logger.Level.BASIC) .requestInterceptor(new TwitchClientIdInterceptor(this)) .retryer(new Retryer.Default(1, 10000, 3)) .options(new Request.Options(5000, 15000)) .target(TwitchMessagingInterface.class, baseUrl); // register with serviceMediator getEventManager().getServiceMediator().addService("twitch4j-api-tmi", client); return client; } }
private void initOpts(final JsonObject raw) { // Options JsonObject normalized = OPTIONS; if (raw.containsKey("timeout")) { final JsonObject options = raw.getJsonObject("timeout"); normalized = normalized.mergeIn(options); } this.options = new Request.Options( normalized.getInteger("connect"), normalized.getInteger("read")); // Defaults normalized = DEFAULTS; if (raw.containsKey("retry")) { final JsonObject defaults = raw.getJsonObject("retry"); normalized = normalized.mergeIn(defaults); } this.defaults = new Retryer.Default( normalized.getInteger("period"), normalized.getInteger("maxPeriod"), normalized.getInteger("attempts") ); } }
/** * Twitch API Client (Kraken) * * @return TwitchKraken */ public TwitchKraken build() { log.debug("Kraken: Initializing Module ..."); ConfigurationManager.getConfigInstance().setProperty("hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds", 2500); TwitchKraken client = HystrixFeign.builder() .encoder(new JacksonEncoder()) .decoder(new JacksonDecoder()) .logger(new Logger.ErrorLogger()) .errorDecoder(new TwitchKrakenErrorDecoder(new JacksonDecoder())) .logLevel(Logger.Level.BASIC) .requestInterceptor(new TwitchClientIdInterceptor(this)) .retryer(new Retryer.Default(1, 10000, 3)) .options(new Request.Options(5000, 15000)) .target(TwitchKraken.class, baseUrl); // register with serviceMediator getEventManager().getServiceMediator().addService("twitch4j-kraken", client); return client; } }
@Override public feign.Response execute(feign.Request input, feign.Request.Options options) throws IOException { okhttp3.OkHttpClient requestScoped; if (delegate.connectTimeoutMillis() != options.connectTimeoutMillis() || delegate.readTimeoutMillis() != options.readTimeoutMillis()) { requestScoped = delegate.newBuilder() .connectTimeout(options.connectTimeoutMillis(), TimeUnit.MILLISECONDS) .readTimeout(options.readTimeoutMillis(), TimeUnit.MILLISECONDS) .followRedirects(options.isFollowRedirects()) .build(); } else { requestScoped = delegate; } Request request = toOkHttpRequest(input); Response response = requestScoped.newCall(request).execute(); return toFeignResponse(response, input).toBuilder().request(input).build(); } }
@Override public feign.Response execute(feign.Request input, feign.Request.Options options) throws IOException { okhttp3.OkHttpClient requestScoped; if (delegate.connectTimeoutMillis() != options.connectTimeoutMillis() || delegate.readTimeoutMillis() != options.readTimeoutMillis()) { requestScoped = delegate.newBuilder() .connectTimeout(options.connectTimeoutMillis(), TimeUnit.MILLISECONDS) .readTimeout(options.readTimeoutMillis(), TimeUnit.MILLISECONDS) .build(); } else { requestScoped = delegate; } Request request = toOkHttpRequest(input); Response response = requestScoped.newCall(request).execute(); return toFeignResponse(response); } }
@Override public RibbonResponse execute(RibbonRequest request, IClientConfig configOverride) throws IOException { Request.Options options; if (configOverride != null) { RibbonProperties override = RibbonProperties.from(configOverride); options = new Request.Options( override.connectTimeout(this.connectTimeout), override.readTimeout(this.readTimeout)); } else { options = new Request.Options(this.connectTimeout, this.readTimeout); } Response response = request.client().execute(request.toRequest(), options); return new RibbonResponse(request.getUri(), response); }
@Override public RibbonResponse execute(RibbonRequest request, IClientConfig configOverride) throws IOException { Request.Options options; if (configOverride != null) { RibbonProperties override = RibbonProperties.from(configOverride); options = new Request.Options( override.connectTimeout(this.connectTimeout), override.readTimeout(this.readTimeout)); } else { options = new Request.Options(this.connectTimeout, this.readTimeout); } Response response = request.client().execute(request.toRequest(), options); return new RibbonResponse(request.getUri(), response); }
/** * Sets request options using Feign {@link Request.Options}. * * @param options Feign {@code Request.Options} object * * @return this builder */ @Override public Builder options(final Request.Options options) { checkNotNull(options, "Argument options must be not null"); this.options = new HttpClientOptions() .setConnectTimeout(options.connectTimeoutMillis()) .setIdleTimeout(options.readTimeoutMillis()); return this; }