tree 49fe6d379796f61c7d7a37e6a3410d8465b09ec3
parent 241bc4fa47eea248a9e5a15c5c609ea3c42ea543
author abcpro1 <abcpro11051@disroot.org> 1667937412 +0000
committer abcpro1 <abcpro11051@disroot.org> 1668030544 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQSQVc4fwEiTkR4o0LP8sylYYU0oAUCY2wgUAAKCRDP8sylYYU0
 oFJWAQC+e9Dw1iE6n+QaeFz4F65UIfWIETH4Sb68kw43J+mwfgD9G/vP5pA5pKCq
 sUQ/k/rlaFUim/2x4nEbJmbsNlKXQwg=
 =UkUn
 -----END PGP SIGNATURE-----

Jersey 2: Migrate requests made in unittests

This commit is a set of simple migrations for client requests made in
unittests.

The javax.ws.rs.core.Response class is the default object returned by
the request methods: get, post, put, and delete; This class can be a replacement
for com.sun.jersey.api.client.ClientResponse from Jersey 1.x.

Why not use org.glassfish.jersey.client.ClientResponse as a replacement instead?
When trying to return a org.glassfish.jersey.client.ClientResponse from the
request methods, the Jersey implementation for some reason attempts to use
the Jackson ObjectMapper to convert the do the conversion which by default will fail
with an exception.

Other simple migrations in this commit include replacing MultivaluedMap with
javax.ws.rs.core.Form for form query parameters; And conforming to the new signature
for put() and post() methods a javax.ws.rs.client.Entity is always supplied.
