[SPb-pm] AnyEvent::HTTPD vs POST

Andrey Chernomyrdin chernomyrdin at gmail.com
Tue Jun 17 02:03:28 PDT 2014


Просто content лучше использовать когда передается что-то типа
XML/JSON,например если сделать запрос таким образом:
curl -s \
  -H 'Content-Type: text/xml' \
  -H 'SOAPAction: ""' \
  --data-binary '<soapenv:Envelope xmlns:soapenv="
http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://localhost/api">
<soapenv:Header/><soapenv:Body><api:getOrganizationsRequest/></soapenv:Body></soapenv:Envelope>'
\
  http://localhost:9090/to-post

То в $req->content получишь то, что указанно в --data-binary


2014-06-17 12:51 GMT+04:00 Denis Ibaev <dionys at gmail.com>:

> В документации же сказано:
>
> content - Returns the request content or undef if only parameters for
> a form were transmitted.
>
> А при Content-Type: application/x-www-form-urlencoded он думает, что
> есть параметры. Это видно в
>
> https://metacpan.org/source/ELMEX/AnyEvent-HTTPD-0.93/lib/AnyEvent/HTTPD/HTTPConnection.pm#L302
>
> sub handle_request {
>    my ($self, $method, $uri, $hdr, $cont) = @_;
>
>    $self->{keep_alive} = ($hdr->{connection} =~ /keep-alive/io);
>
>    my ($ctype, $bound) = _content_type_boundary ($hdr->{'content-type'});
>
>    if ($ctype eq 'multipart/form-data') {
>       $cont = $self->decode_multipart ($cont, $bound);
>
>    } elsif ($ctype =~ /x-www-form-urlencoded/o) {
>       $cont = parse_urlencoded ($cont);
>    }
>
>    $self->event (request => $method, $uri, $hdr, $cont);
> }
>
>
> 17 июня 2014 г., 12:00 пользователь Ruslan Kuksa
> <perl-list at spb.csat.ru> написал:
> > задел меня доклад по AnyEvent, решил переписать одну фигню.
> > Клиент отправляет данные на сервер методом POST:
> >
> > POST / HTTP/1.1
> > Host: localhost:8080
> > Accept: */*
> > Content-Length: 1797
> > Content-Type: application/x-www-form-urlencoded
> > Expect: 100-continue
> >
> > Как вытащить те самые 1797 байтов данных?
> > Чтение документации очень помогло, я узнал что это возможно, но не узнал
> > как. (:
>
> --
> Денис Ибаев
> _______________________________________________
> Spb-pm mailing list
> Spb-pm at pm.org
> http://mail.pm.org/mailman/listinfo/spb-pm
>



-- 
With best, Andrey Chernomyrdin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/spb-pm/attachments/20140617/d6c977a1/attachment.html>


More information about the Spb-pm mailing list