[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