Skip to content

Conversation

@jimkring
Copy link
Contributor

@jimkring jimkring commented Aug 31, 2025

This PR is for integration of 3.0.0 features and fixes. It will be a merge from the develop branch into main.

Status: Work in Progress (WIP)

What's included:

tmaila and others added 17 commits May 4, 2017 15:04
[Feature #27] Updated the client to use NI Advanced HTTP Client and added the PATCH method
# Conflicts:
#	source/REST Client.lvproj
#	source/classes/REST Client/Assert_IsFile.vi
#	source/classes/REST Client/Create REST Client.vi
#	source/classes/REST Client/Destroy REST Client.vi
#	source/classes/REST Client/Flush Client Handles.vi
#	source/classes/REST Client/Get client handle.vi
#	source/classes/REST Client/HTTP Request.vi
#	source/classes/REST Client/New Client Handle.vi
#	source/classes/REST Client/REST Client.lvclass
#	source/classes/REST Client/Return client handle.vi
…vanced-http-client

# Conflicts:
#	source/REST Client.lvlib
#	source/classes/REST Client/Create REST Client.vi
#	source/classes/REST Client/New Client Handle.vi
#	source/classes/REST Client/REST Client.lvclass
#	source/classes/advanced-http-client/_os_not_supported.vi
#	source/classes/advanced-http-client/advanced-http-client.lvclass
#	source/classes/advanced-http-client/onAddHeader.vi
#	source/classes/advanced-http-client/onDestroyHttpSession.vi
#	source/classes/advanced-http-client/onHttpDelete.vi
#	source/classes/advanced-http-client/onHttpGet.vi
#	source/classes/advanced-http-client/onHttpHead.vi
#	source/classes/advanced-http-client/onHttpPatch (Buffer).vi
#	source/classes/advanced-http-client/onHttpPatch (File).vi
#	source/classes/advanced-http-client/onHttpPost (Buffer).vi
#	source/classes/advanced-http-client/onHttpPost (File).vi
#	source/classes/advanced-http-client/onHttpPost (Multipart).vi
#	source/classes/advanced-http-client/onHttpPut (Buffer).vi
#	source/classes/advanced-http-client/onHttpPut (File).vi
#	source/classes/advanced-http-client/onNewHttpSession.vi
#	source/classes/advanced-http-client/onRemoveHeader.vi
#	source/classes/http-client/Parse Status Line.vi
#	source/projects/REST Client - VI Tree.vi
* Initial integration of VIPM.io Abstract HTTP Class

- changed the queue cluster to take the abstract class instead of the handle directly
- updated dequeue/enqueue to work with the abstract class
- updated method calls for abstract class
- added patch by file check/method
- minor adjustment to the create handle file
still needs a "default class" implementation, and some testing.

* finalized initial testing

- finalized the create/init (used a similar pattern to the other branched)
- added a pure "pre-init" that allows the addition of the abstract class to the http-client class/child of choice (so if someone has created a child, they can still use it).
- pulled the header manipulation into a subVI so that it could be reused a couple of places
- added a few tests
- added tests for "base/default" "NI Advanced Client" and the "reqwest" library.
NOTE: since reqwest is not in vi.lib it might have to be relinked... this is fine for this initial test PR, but will need to be adjusted before production

* Minor fixes to finish merge

* - renaming "Create REST CLient (Plugin).vI"  VI and mv'ed in git for case-sensitivity
- rename http-client-type input to "http-client-plugin (built-in)" to reflect default value means to use built-in
- Create REST Client.vi checks if plugin input is null and uses built-in client, if that's the case.

* Fixed some linkages in "HTTP Request.vi"

* remove link to NI Advanced HTTP multi-part request typedef

* simpletest.vi now loads the NI Advanced HTTP Client plugin dynamically

* removed package dependency on NI Advanced HTTP

* misc changes to lvproj and lvclass

* Removed header bug implementation (base version is 2020 now)

* Removed dependencies on the old http-client interfaces

but left the classes "on-disk" for now.
two utilities were still in that class (Assert_Buffer_Is_File and Parse StatusLine)
those have been moved to the REST Client class
changed the Escape URL scope to public and moved to "Utilities"

* Tried to test but httpbin was offline (err 503)

Added alternate "httpbun" (which also apparently has better options for testing)

* Removed redundant code, updated VI Descriptions.

---------

Co-authored-by: Justin Young <[email protected]>
Co-authored-by: Jim Kring <[email protected]>
@jimkring jimkring changed the title 3.0.0 Release Prep (devlop -> main) [WIP] 3.0.0 Release Prep (devlop -> main) Aug 31, 2025
@jyoung8711
Copy link

@jimkring -- I took a look at the new develop branch, and as far as I can tell everything still matches. A version of the old local version of the interface still exists (http-client, basic-http-client, and advanced-http-client) in this repo, but it doesn't have any linkages to the actual code in use, so I think we would be fine to just eliminate those folders.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants