paypal / mocca

Mocca is a GraphQL client for JVM languages with the goal of being easy to use, flexible and modular.
MIT License
15 stars 14 forks source link

Fix timeout support #41

Open crankydillo opened 2 years ago

crankydillo commented 2 years ago

The fix for #7 is flawed. It implies (at least) 2 problematic things:

The first isn't necessarily true, and the second definitely isn't true with current feign impl. So basically, what this means is that for every MoccaHttpClient other than the JAXRS2 one, where we ignore feign's attempt to set its default timeouts, the user is forced into feign's timeout defaults.

fabiocarvalho777 commented 1 year ago

Code changes to fix this issue are in this branch: https://github.com/paypal/mocca/commits/fix_for_issue_41 Those changes are incomplete though, since the usage of Mocca breaks after those changes were introduced (see error below).

These changes were originally already in develop branch. However, because they caused the error below, they were removed from develop branch and placed at branch fix_for_issue_41.

class com.paypal.mocca.client.MoccaOkHttpClient tried to access private method 'void com.paypal.mocca.client.MoccaHttpClient.<init>(feign.Client)' (com.paypal.mocca.client.MoccaOkHttpClient and com.paypal.mocca.client.MoccaHttpClient are in unnamed module of loader 'app')
java.lang.IllegalAccessError: class com.paypal.mocca.client.MoccaOkHttpClient tried to access private method 'void com.paypal.mocca.client.MoccaHttpClient.<init>(feign.Client)' (com.paypal.mocca.client.MoccaOkHttpClient and com.paypal.mocca.client.MoccaHttpClient are in unnamed module of loader 'app')
    at com.paypal.mocca.client.MoccaOkHttpClient.<init>(MoccaOkHttpClient.java:30)