evernote-sdk-csharp icon indicating copy to clipboard operation
evernote-sdk-csharp copied to clipboard

Bug: Proxy configuration is ignored by Thrift

Open dominik-weber opened this issue 10 years ago • 5 comments

Hi,

in the file THttpClient.cs line 205:

connection.Proxy = null;

the defaul proxy configuration is cleared. If you have set up a proxy in your system settings the proxy server is not used by the Evernote SDK and the connection cannot be established. If you remove this line everything works.

(This bug is also fixed in the newest version of Thrift, so updating Thrift should resolve the issue as well.)

dominik-weber avatar Nov 29 '13 18:11 dominik-weber

Thank you. This saved my day.

AndreClaassen1 avatar Aug 19 '14 09:08 AndreClaassen1

@Chaosspeeder have you managed to make anything with this project?
I'm interested in making something that helps to tidy tags and recognize patterns for applying tags.

fatphil2001 avatar Sep 02 '14 06:09 fatphil2001

It is a lot better to actually handle the setting of the proxy yourself. That way you could let the users of your application configure the proxy itself.

I have noticed a lot of applications fail on this relative simple topic.

Find more about this here.

The same problem can be found in the Python 3.x SDK...

generic-user avatar Jan 06 '15 10:01 generic-user

BattoorCjorn: I disagree. Although it might be useful in some cases to let the user specify different Proxy settings for your application, the system wide settings are there for a reason. In most cases using them should be sufficient to enable access to online services when you are connecting through a proxy. The custom setting should be optional in all cases, and the default (system wide) settings should be used if no other configuration is available.

dominik-weber avatar Jan 07 '15 15:01 dominik-weber

I'm not saying no system wide setting should be used, I am saying a fallback should be used if the system wide setting fails, like in corporate environments where they use proxy scripts, ect ... If you look at the code, they are actually disabling the proxy by setting it to

connection.Proxy = null;

That means the API does not support proxy overloads, so you would not be able to do this:

Just like in Firefox:

Firefox proxy settings

In this use case if the user fails to load any web page into firefox, he can configure the proxy himself. And that I think is a good design.

generic-user avatar Jan 07 '15 16:01 generic-user