@Override public RestClientBuilder register(Object o) { if (o instanceof ResponseExceptionMapper) { ResponseExceptionMapper mapper = (ResponseExceptionMapper)o; register(mapper, mapper.getPriority()); } else if (o instanceof ParamConverterProvider) { register(o, Priorities.USER); } else { this.builderDelegate.register(o); } return this; }
if (candiate.handles(response.getStatus(), response.getHeaders())) mappers.put(candiate, candiate.getPriority()); Optional<Throwable> t = Optional.ofNullable(m.toThrowable(response)); errors.put(t, i); });
/** {@inheritDoc}*/ @Override public void handleMessage(Message message) throws Fault { for (AsyncInvocationInterceptor interceptor : interceptors) { try { interceptor.applyContext(); } catch (Throwable t) { LOG.log(Level.WARNING, "ASYNC_INTERCEPTOR_EXCEPTION_APPLY_CONTEXT", new Object[]{interceptor.getClass().getName(), t}); } } } }
@Override protected void checkResponse(Method m, Response r, Message inMessage) throws Throwable { MicroProfileClientProviderFactory factory = MicroProfileClientProviderFactory.getInstance(inMessage); List<ResponseExceptionMapper<?>> mappers = factory.createResponseExceptionMapper(inMessage, Throwable.class); for (ResponseExceptionMapper<?> mapper : mappers) { if (mapper.handles(r.getStatus(), r.getHeaders())) { Throwable t = mapper.toThrowable(r); if (t instanceof RuntimeException) { throw t; } else if (t != null && m.getExceptionTypes() != null) { // its a checked exception, make sure its declared for (Class<?> c : m.getExceptionTypes()) { if (t.getClass().isAssignableFrom(c)) { throw t; } } // TODO Log the unhandled declarable } } } }
private void mergeHeaders(ClientHeadersFactory factory, MultivaluedMap<String, String> existingHeaders) { MultivaluedMap<String, String> jaxrsHeaders = getJaxrsHeaders(); MultivaluedMap<String, String> updatedHeaders = factory.update(jaxrsHeaders, existingHeaders); existingHeaders.putAll(updatedHeaders); } @Override
MPAsyncInvocationInterceptorImpl(Message message) { super(Phase.POST_MARSHAL); MicroProfileClientProviderFactory factory = MicroProfileClientProviderFactory.getInstance(message); List<ProviderInfo<Object>> aiiProviderList = factory.getAsyncInvocationInterceptorFactories(); for (ProviderInfo<Object> providerInfo: aiiProviderList) { AsyncInvocationInterceptor aiInterceptor = ((AsyncInvocationInterceptorFactory) providerInfo.getProvider()).newInterceptor(); interceptors.add(0, aiInterceptor); // sort in reverse order } }
/** {@inheritDoc}*/ @Override public void handleMessage(Message message) throws Fault { for (AsyncInvocationInterceptor interceptor : interceptors) { try { interceptor.removeContext(); } catch (Throwable t) { LOG.log(Level.WARNING, "ASYNC_INTERCEPTOR_EXCEPTION_REMOVE_CONTEXT", new Object[]{interceptor.getClass().getName(), t}); } } } }
/** {@inheritDoc}*/ @Override public void handleMessage(Message message) throws Fault { for (int i = interceptors.size() - 1; i >= 0; i--) { try { interceptors.get(i).prepareContext(); } catch (Throwable t) { LOG.log(Level.WARNING, "ASYNC_INTERCEPTOR_EXCEPTION_PREPARE_CONTEXT", new Object[]{interceptors.get(i).getClass().getName(), t}); } } }
private static Optional<String> getHeadersProperty() { Optional<Config> c = config(); if (c.isPresent()) { return Optional.ofNullable(c.get().getOptionalValue(PROPAGATE_PROPERTY, String.class).orElse(null)); } return Optional.empty(); }
@Override public int compare(ResponseExceptionMapper<?> oLeft, ResponseExceptionMapper<?> oRight) { return oLeft.getPriority() - oRight.getPriority(); } }
@Override protected void checkResponse(Method m, Response r, Message inMessage) throws Throwable { MicroProfileClientProviderFactory factory = MicroProfileClientProviderFactory.getInstance(inMessage); List<ResponseExceptionMapper<?>> mappers = factory.createResponseExceptionMapper(inMessage, Throwable.class); for (ResponseExceptionMapper<?> mapper : mappers) { if (mapper.handles(r.getStatus(), r.getHeaders())) { Throwable t = mapper.toThrowable(r); if (t instanceof RuntimeException) { throw t; } else if (t != null && m.getExceptionTypes() != null) { // its a checked exception, make sure its declared for (Class<?> c : m.getExceptionTypes()) { if (t.getClass().isAssignableFrom(c)) { throw t; } } // TODO Log the unhandled declarable } } } }
private void mergeHeaders(ClientHeadersFactory factory, MultivaluedMap<String, String> existingHeaders) { MultivaluedMap<String, String> jaxrsHeaders = getJaxrsHeaders(); MultivaluedMap<String, String> updatedHeaders = factory.update(jaxrsHeaders, existingHeaders); existingHeaders.putAll(updatedHeaders); } @Override
MPAsyncInvocationInterceptorImpl(Message message) { super(Phase.POST_MARSHAL); MicroProfileClientProviderFactory factory = MicroProfileClientProviderFactory.getInstance(message); List<ProviderInfo<Object>> aiiProviderList = factory.getAsyncInvocationInterceptorFactories(); for (ProviderInfo<Object> providerInfo: aiiProviderList) { AsyncInvocationInterceptor aiInterceptor = ((AsyncInvocationInterceptorFactory) providerInfo.getProvider()).newInterceptor(); interceptors.add(0, aiInterceptor); // sort in reverse order } }
/** {@inheritDoc}*/ @Override public void handleMessage(Message message) throws Fault { for (AsyncInvocationInterceptor interceptor : interceptors) { try { interceptor.applyContext(); } catch (Throwable t) { LOG.log(Level.WARNING, "ASYNC_INTERCEPTOR_EXCEPTION_APPLY_CONTEXT", new Object[]{interceptor.getClass().getName(), t}); } } } }
/** {@inheritDoc}*/ @Override public void handleMessage(Message message) throws Fault { for (AsyncInvocationInterceptor interceptor : interceptors) { try { interceptor.removeContext(); } catch (Throwable t) { LOG.log(Level.WARNING, "ASYNC_INTERCEPTOR_EXCEPTION_REMOVE_CONTEXT", new Object[]{interceptor.getClass().getName(), t}); } } } }
/** {@inheritDoc}*/ @Override public void handleMessage(Message message) throws Fault { for (int i = interceptors.size() - 1; i >= 0; i--) { try { interceptors.get(i).prepareContext(); } catch (Throwable t) { LOG.log(Level.WARNING, "ASYNC_INTERCEPTOR_EXCEPTION_PREPARE_CONTEXT", new Object[]{interceptors.get(i).getClass().getName(), t}); } } }
@Override public int compare(ResponseExceptionMapper<?> oLeft, ResponseExceptionMapper<?> oRight) { return oLeft.getPriority() - oRight.getPriority(); } }
@Override public RestClientBuilder register(Object o) { if (o instanceof ResponseExceptionMapper) { ResponseExceptionMapper mapper = (ResponseExceptionMapper)o; register(mapper, mapper.getPriority()); } else if (o instanceof ParamConverterProvider) { register(o, Priorities.USER); } else { this.builderDelegate.register(o); } return this; }
@Override public RestClientBuilder register(Object o) { if (o instanceof ResponseExceptionMapper) { ResponseExceptionMapper mapper = (ResponseExceptionMapper)o; register(mapper, mapper.getPriority()); } else if (o instanceof ParamConverterProvider) { register(o, Priorities.USER); } else { this.builderDelegate.register(o); } return this; }
@Override public RestClientBuilder register(Object o) { if (o instanceof ResponseExceptionMapper) { ResponseExceptionMapper mapper = (ResponseExceptionMapper) o; register(mapper, mapper.getPriority()); } else if (o instanceof ParamConverterProvider) { register(o, Priorities.USER); } else if (o instanceof AsyncInvocationInterceptorFactory) { this.asyncInterceptorFactories.add((AsyncInvocationInterceptorFactory) o); } else { this.builderDelegate.register(o); } return this; }