tzmfreedom / rustforce

Salesforce REST API Client by Rust
MIT License
41 stars 19 forks source link

Implement get_apexrest with param stripping #13

Closed sempervictus closed 3 years ago

sempervictus commented 3 years ago

The APEXREST interfaces for SalesForce API work differently from the standard query facilities. At least in the GET case, they take any number of URI parameters, which doesn't play nice with the current paradigm.

This commit implements the GET semantic for APEXREST URIs and scaffolds parity for other existing request types targeting the same. The only real nuance of the GET semantic is the URI params parsing involved, and only nuanced because of ownership trickery required to get those params into the own Vec<&str,&str> to satisfy the Reqwest crate.

Testing: Tested get_apexrest against a "test.salesforce.com" APEXREST API set up for one of our clients by a vendor with multiple endpoints and taking several params for some of them. No testing has been attempted for the scaffolds added to stub feature parity with the existing query request types (not present in our target).

sempervictus commented 3 years ago

I'm still pretty new to Rust, so please pardon idiomatic absurdities (or better yet point me to the mistake so i can learn to fix it). This PR satisfies the ask in #11, though hopefully serves as a baseline for full APEXREST interaction down the line