[fpc-pascal] Troubles with SQLDBRESTBridge

Sven Barth pascaldragon at googlemail.com
Mon Jun 24 11:10:52 CEST 2019


Michael Van Canneyt <michael at freepascal.org> schrieb am Mo., 24. Juni 2019,
09:30:

>
>
> On Sun, 23 Jun 2019, Sven Barth via fpc-pascal wrote:
>
> >>>>> - localhost:8080/metadata works
> >>>>> - localhost:8080/users returns "INVALID RESOURCE"
> >>>>
> >>>> Because it has rdoConnectionInURL set, and so you must do
> >>>> localhost:8080/expenses/users
> >>>
> >>> Ahhhhhh! Hadn't seen that this option is active... Okay, then it
> >>> indeed works as expected, both with and without rdoConnectionInURL.
> >>>
> >>> By the way: I noticed a slight annoyance, but I don't know whether
> >>> one can really do something about that: When I set rdoConnectionInURL
> >>> to False inside the object inspector it turns on again, because
> >>> rdoConnectionResource is set. Took me a moment to look at the source
> >>> code to see that I need to disable rdoConnectionResource first. Don't
> >>> know what a better solution would be...
> >>
> >> Funny you mention this, I was fooled myself yesterday, I also had to
> >> look in
> >> the sources :(
> >>
> >> One way would be to disable rdoConnectionResource if you disable
> >> rdoConnectionInURL. I will add this.
> >
> > But wouldn't that lead to an analogous problem with
> > rdoConnectionResource if rdoConnectionInURL is not set?
>
> I fixed this: if you disable rdoConnectionInURL, rdoConnectionResource is
> disabled. If not, if rdoConnectionResource is included, rdoConnectionInURL
> will be set too.
>
> I also fixed the use in a module. The module will set 'active' to false on
> the dispatcher. Before handling the request, it takes the request and uses
> pathinfo to set the routing parameters
>
> With the sample module, I tested all possible cases:
>
> No rdoConnectionInURL:
> wget --auth-no-challenge --http-user=me --http-password=secret
> http://localhost:8080/REST/metadata --content-on-error -O - -d
> --auth-no-challenge
> wget --auth-no-challenge --http-user=me --http-password=secret
> http://localhost:8080/REST/users --content-on-error -O - -d
> --auth-no-challenge
>
> rdoConnectionInURL set:
> Basepath empty:
> wget --auth-no-challenge --http-user=me --http-password=secret
> http://localhost:8080/REST/metadata --content-on-error -O - -d
> --auth-no-challenge
> wget --auth-no-challenge --http-user=me --http-password=secret
> http://localhost:8080/REST/expenses/metadata --content-on-error -O - -d
> --auth-no-challenge
> wget --auth-no-challenge --http-user=me --http-password=secret
> http://localhost:8080/REST/expenses/users --content-on-error -O - -d
> --auth-no-challenge
>
> BasePath set to Lola
> wget --auth-no-challenge --http-user=me --http-password=secret
> http://localhost:8080/REST/Lola/metadata --content-on-error -O - -d
> --auth-no-challenge
> wget --auth-no-challenge --http-user=me --http-password=secret
> http://localhost:8080/REST/Lola/expenses/metadata --content-on-error -O -
> -d --auth-no-challenge
> wget --auth-no-challenge --http-user=me --http-password=secret
> http://localhost:8080/REST/Lola/expenses/users --content-on-error -O - -d
> --auth-no-challenge
>
> BasePath set to Lola/Pola
>
> wget --auth-no-challenge --http-user=me --http-password=secret
> http://localhost:8080/REST/Lola/Pola/metadata --content-on-error -O - -d
> --auth-no-challenge
> wget --auth-no-challenge --http-user=me --http-password=secret
> http://localhost:8080/REST/Lola/Pola/expenses/metadata --content-on-error
> -O - -d --auth-no-challenge
> wget --auth-no-challenge --http-user=me --http-password=secret
> http://localhost:8080/REST/Lola/Pola/expenses/users --content-on-error -O
> - -d --auth-no-challenge
>
>
> I think I covered all cases. If I forgot one, do let me know...
>
> I will update the Wiki.
>

Awesome! Thank you! Though I don't know when I'll be able to test it next.

Regards,
Sven

>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20190624/d295e08a/attachment-0001.html>


More information about the fpc-pascal mailing list