@Bean @ConditionalOnProperty(value = "io.fundrequest.mock.identity-api", havingValue = "false", matchIfMissing = true) public IdentityAPIClient identityAPIClient(final Decoder decoder, final Encoder encoder, final Client identityApiFeignClient, final Contract contract, @Value("${io.fundrequest.identity.api.url}") final String url, @Value("${io.fundrequest.identity.api.user.name}") final String username, @Value("${io.fundrequest.identity.api.user.password}") final String password) { return Feign.builder() .client(identityApiFeignClient) .encoder(encoder) .decoder(decoder) .contract(contract) .requestInterceptor(new BasicAuthRequestInterceptor(username, password)) .target(IdentityAPIClient.class, url); }
public Feign.Builder createApiBuilder(@Nullable ApiCredentials credentials){ ObjectMapper mapper = ObjectMapperConfigurer.configure(new ObjectMapper()); Feign.Builder apiBuilder = Feign.builder() .encoder(new JacksonEncoder()) .decoder(new JacksonDecoder(mapper)); signRequestsIfCredentialsNotNull(apiBuilder, credentials); return apiBuilder; }
public Cudami(BackendUrls backendUrls) { ObjectMapper mapper = new ObjectMapper(); mapper.registerModule(new DigitalCollectionsModelModule()); Feign.Builder feign = ReflectiveFeign.builder() .decoder(new JacksonDecoder(mapper)) .encoder(new JacksonEncoder(mapper)) .errorDecoder(new CudamiRestErrorDecoder()) .logger(new Slf4jLogger()) .logLevel(Logger.Level.BASIC) .retryer(new Retryer.Default()); this.clientFactory = new ClientFactory(feign, backendUrls); this.clients = new ConcurrentHashMap(); }
protected Feign.Builder feign(FeignContext context) { FeignLoggerFactory loggerFactory = get(context, FeignLoggerFactory.class); Logger logger = loggerFactory.create(this.type); // @formatter:off Feign.Builder builder = get(context, Feign.Builder.class) // required values .logger(logger) .encoder(get(context, Encoder.class)) .decoder(get(context, Decoder.class)) .contract(get(context, Contract.class)); // @formatter:on configureFeign(context, builder); return builder; }
/** * Create and return OAuth2 UserInfo service stubs * * @return OAuth2 introspection service stub * @throws APIManagementException if error occurs while crating OAuth2 introspection service stub */ public OAuth2ServiceStubs.UserInfoServiceStub getUserInfoServiceStub() throws APIManagementException { return Feign.builder() .encoder(new FormEncoder()) .decoder(new GsonDecoder()) .client(new Client.Default(AMSSLSocketFactory.getSSLSocketFactory(kmCertAlias), (hostname, sslSession) -> true)) .target(OAuth2ServiceStubs.UserInfoServiceStub.class, userInfoEndpoint); }
/** * Create and return OAuth2 token service stubs * * @return OAuth2 token service stub * @throws APIManagementException if error occurs while crating OAuth2 token service stub */ public OAuth2ServiceStubs.TokenServiceStub getTokenServiceStub() throws APIManagementException { return Feign.builder() .encoder(new FormEncoder()) .decoder(new GsonDecoder()) .client(new Client.Default(AMSSLSocketFactory.getSSLSocketFactory(kmCertAlias), (hostname, sslSession) -> true)) .target(OAuth2ServiceStubs.TokenServiceStub.class, tokenEndpoint); }
@Override public Builder decoder(Decoder decoder) { return (Builder) super.decoder(decoder); }
@Override default UpdatedResource updateContent(String repoFullName, String path, DirectCommit directCommit, String oauthToken) throws GitHubAuthorizationException { ContentClient contentClient = Feign.builder() .logger(new Slf4jLogger(ContentClient.class)) .encoder(new JacksonEncoder()) .decoder(new JacksonDecoder()) .errorDecoder(new UpdateContentErrorDecoder()) .requestInterceptor(new OAuthInterceptor(oauthToken)) .logLevel(Logger.Level.FULL) .target(ContentClient.class, GlobalProperties.getGitHubApiUrl() + "/repos/" + repoFullName + "/contents/" + path); return contentClient.updateContent(directCommit); }
@Autowired public MovieController(Decoder decoder, Encoder encoder, Client client, Contract contract) { // 这边的decoder、encoder、client、contract,可以debug看看是什么实例。 this.userUserFeignClient = Feign.builder().client(client).encoder(encoder).decoder(decoder).contract(contract) .requestInterceptor(new BasicAuthRequestInterceptor("user", "password1")).target(UserFeignClient.class, "http://microservice-provider-user/"); this.adminUserFeignClient = Feign.builder().client(client).encoder(encoder).decoder(decoder).contract(contract) .requestInterceptor(new BasicAuthRequestInterceptor("admin", "password2")) .target(UserFeignClient.class, "http://microservice-provider-user/"); }
static Feign.Builder buildGitReferenceClient(String oauthToken) { return Feign.builder() .logger(new Slf4jLogger(GitReferenceClient.class)) .encoder(new JacksonEncoder()) .decoder(new JacksonDecoder()) .errorDecoder(new BranchCreationErrorDecoder()) .requestInterceptor(new OAuthInterceptor(oauthToken)) .logLevel(Logger.Level.FULL); } }
public <T> T buildWithoutInterceptor(int connectTimeoutMillis, int readTimeoutMillis, Class<T> target, String url) { return Feign.builder() .encoder(new Encoder.Default()).decoder(new GsonDecoder()) .options(new Request.Options(connectTimeoutMillis, readTimeoutMillis)) .client(newDefaultClientInstance()) .target(target, url); }
public <T> T build(String username, String password, int connectTimeoutMillis, int readTimeoutMillis, Class<T> target, String url) { return Feign.builder().requestInterceptor(new BasicAuthRequestInterceptor(username, password)) .encoder(new Encoder.Default()).decoder(new Decoder.Default()) .options(new Request.Options(connectTimeoutMillis, readTimeoutMillis)) .client(newDefaultClientInstance()) .target(target, url); }
private static DCOS buildInstance(String endpoint, Consumer<Feign.Builder> customize) { GsonDecoder decoder = new GsonDecoder(ModelUtils.GSON); GsonEncoder encoder = new GsonEncoder(ModelUtils.GSON); Feign.Builder builder = Feign.builder() .encoder(encoder) .decoder(decoder) .errorDecoder(new DCOSErrorDecoder()); customize.accept(builder); builder.requestInterceptor(new DCOSAPIInterceptor()); return builder.target(DCOS.class, endpoint); }
public Feign.Builder newFeignClientBuilder() { return Feign.builder() .encoder(encoder) .decoder(decoder); }
/** * Create and return OAuth2 UserInfo service stubs * * @return OAuth2 introspection service stub * @throws APIManagementException if error occurs while crating OAuth2 introspection service stub */ public OAuth2ServiceStubs.UserInfoServiceStub getUserInfoServiceStub() throws APIManagementException { return Feign.builder() .encoder(new FormEncoder()) .decoder(new GsonDecoder()) .client(new Client.Default(AMSSLSocketFactory.getSSLSocketFactory(kmCertAlias), (hostname, sslSession) -> true)) .target(OAuth2ServiceStubs.UserInfoServiceStub.class, userInfoEndpoint); }
public AuthStatus getAuthenticatedUser() { BasicAuthRequestInterceptor interceptor = new BasicAuthRequestInterceptor(USERNAME, PASSWORD); HttpBinResource bookResource = Feign.builder().encoder(new JacksonEncoder()) .decoder(new JacksonDecoder()).requestInterceptor(interceptor) .target(HttpBinResource.class, HTTP_BIN_URL); return bookResource.getAuthenticatedUser(); }
@Override public void signIn() { final Feign.Builder builder = Feign.builder() .logger(new Slf4jLogger()) .decoder(new GsonDecoder()); if(this.etcdUsername != null && this.etcdPassword != null) { builder.requestInterceptor( new BasicAuthRequestInterceptor(this.etcdUsername, this.etcdPassword)); } this.etcdService = builder.target(EtcdService.class, this.etcdEnpoint); }
@Bean public TagApi getTagApi(Decoder decoder, Encoder encoder, Client client) { TagApi tagApi = Feign.builder().client(client) .encoder(encoder) .decoder(decoder) .contract(new SpringMvcContract()) .target(TagApi.class, jboneConfiguration.getRpc().getTagServer().getFeign().getProtocol() + "://" + jboneConfiguration.getRpc().getTagServer().getFeign().getName().toUpperCase()); return tagApi; }
public static Marathon getInstance(String endpoint) { GsonDecoder decoder = new GsonDecoder(ModelUtils.GSON); GsonEncoder encoder = new GsonEncoder(ModelUtils.GSON); return Feign.builder().encoder(encoder).decoder(decoder) .errorDecoder(new MarathonErrorDecoder()) .requestInterceptor(new MarathonHeadersInterceptor()) .target(Marathon.class, endpoint); } }
/** * Creates baseline resource builder which can be used to configure specific resources. * * @return Baseline builder */ protected Feign.Builder feignBuilder() { return Feign.builder().errorDecoder(new FeignErrorTranslator()).decoder(feignDecoder()).encoder(feignEncoder()) .logger(new Slf4jLogger(getClass())).requestInterceptor(new HeaderInterceptorForwarder()); }