[Perl] CORS et Dancer2
Patrice Karatchentzeff
patrice.karatchentzeff at gmail.com
Lun 5 Juin 13:43:51 CEST 2023
Bon, j'ai viré le problème en réussissant à désactiver CORS dans la
requête de départ en javascript. Mais le problème demeure...
Et j'avais une erreur stupide :
get '/login' => sub {
my $post = from_json( request->body );
print $post;
};
C'est un post et pas un get :(
PK
Le lun. 5 juin 2023 à 09:52, Patrice Karatchentzeff
<patrice.karatchentzeff at gmail.com> a écrit :
>
> Salut,
>
> J'ai un truc bizarre avec Dancer2. J'ai besoin d'autoriser CORS et
> pour le dév, je le mets à tout le monde (*) pour ne pas me prendre la
> tête. Dancer2 est pour le back-end et j'ai un front-end en javascript
> (React Native)/
>
> Le plus simple est de faire un hook avant une route :
>
> hook 'before' => sub {
> response_header 'Access-Control-Allow-Origin' => '*';
> };
>
> Si je veux lire un JSON sur le serveur (GET), ça fonctionne.
>
> get '/message' => sub {
> my @data = ( {
> id => 1,
> username => 42,
> name => 100234,
> email => [qw(one two three)],
> },
> {
> id => 2,
> username => "toto",
> name => "SiSi",
> email => [qw(4 5 6)],
> },
> );
> send_as JSON => \@data;
> };
>
> Si je veux en envoyer un (POST), le débogueur m'indique que la requête
> est interdite, parce que CORS n'est pas actif !
>
> get '/login' => sub {
> my $post = from_json( request->body );
> print $post;
> };
>
> J'ai essayé de généraliser avec Plack :
>
> use Plack::Builder;
>
> builder {
> enable 'CrossOrigin', origins => '*';
> dance;
> };
>
> Mais ça ne fonctionne pas mieux :(
>
> Est-ce que vous avez une piste pour me dépanner ?
>
> Merci
>
> PK
>
> --
> |\ _,,,---,,_ Patrice KARATCHENTZEFF
> ZZZzz /,`.-'`' -. ;-;;,_ mailto:patrice.karatchentzeff at gmail.com
> |,4- ) )-,_. ,\ ( `'-'
> '---''(_/--' `-'\_)
--
|\ _,,,---,,_ Patrice KARATCHENTZEFF
ZZZzz /,`.-'`' -. ;-;;,_ mailto:patrice.karatchentzeff at gmail.com
|,4- ) )-,_. ,\ ( `'-'
'---''(_/--' `-'\_)
Plus d'informations sur la liste de diffusion Perl