Made apiRequest a public method#58
Conversation
apiRequest is a very useful method, encapsulating retry logic and handling explicit HTTP result codes that we don't want to repeat in our own code. It would be very helpful to expose it as a public method so that, for instance, we can pass HTTP headers to SalesForce.
|
I am always wary of increasing the surface area of the API since it might make it harder for me to support the library in the future as a pure hobby effort. I do not yet consider anything in It would be helpful if you have some examples of headers you want to pass or other use cases made possible by this change. |
|
HI Jesper, Thanks for the fast reply - I totally see your point about expanding the API. Here's our use case: we need to pass the "Sforce-Auto-Assign" header with a value of FALSE in our HTTP request. Before we realized about the header being required, we were able to get by with just calling ForceApi.createSObject passing in the type and the object. Maybe we could add a createSObject that also takes a Map<String, String> for headers to be passed in, in addition to the Accept and Content-type headers? |
|
Hi All. Yeah definitely specifying some extra headers would a very good feature. A good example would be "If-Modified-Since" header for the "describe" method: This would make interaction with SF a lot more efficient as far as I can see. @jesperfj if I create a PR for just adding a new overloading method for ForceApi.describeSObject(String sobject), would that be acceptable for you? E.g. like that: public DescribeSObject describeSObject(String sobject, Date sinceDate) Would you be able to cut a new release after that? We do really need that feature asap :) PS. Your library is awesome. Thanks. |
apiRequest is a very useful method, encapsulating retry logic and
handling explicit HTTP result codes that we don't want to repeat in our
own code. It would be very helpful to expose it as a public method so
that, for instance, we can pass HTTP headers to SalesForce.