You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Rommel de Sene Trindade (JIRA)" <ji...@apache.org> on 2018/06/11 02:58:00 UTC
[jira] [Updated] (THRIFT-4581) HttpTransport with JsonProtocol -
Dart Client <--> Cpp server.
[ https://issues.apache.org/jira/browse/THRIFT-4581?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rommel de Sene Trindade updated THRIFT-4581:
--------------------------------------------
Description:
Dart httptransport uses base64 encoding to send http post data but Cpp httptransport doesn't decode the base64 coded json message.
Eg.
Message sent by dart client:
{{{color:#14892c}POST /olp-0.4 HTTP/1.1{color}}}
{{{color:#14892c}<http headers>{color}}}
{{{color:#14892c}WzEsIkxvZ2luIiwxLDEseyIxIjp7InJlYyI6eyIxIjp7ImkzMiI6MH0sIjIiOnsiaTMyIjowfSwiNCI6eyJpMzIiOjB9LCI1Ijp7InN0ciI6InJvbW1lbHN0QGdtYWlsLmNvbSJ9LCI2Ijp7InN0ciI6ImRlc2VuIn0sIjciOnsiaTMyIjowfX19fV0={color}}}
Message expected by cpp server:
{{{color:#14892c}POST /olp-0.4 HTTP/1.1{color}}}
{{{color:#14892c}<http headers>{color}}}
{{{color:#14892c}[1,"Login",1,0,\{"1": {"rec":{"5":{"str":""},"6":\{"str":""},"7":\{"i32":0}}}}]{color}}}
The question is:
What setup should be set on cpp server to read the message from thrift dart lib?
was:
Dart httptransport uses base64 encoding to send http post data but Cpp httptransport doesn't decode the base64 coded json message.
Eg.
Message sent by dart client:
{{{color:#14892c}POST /olp-0.4 HTTP/1.1{color}}}
{{{color:#14892c}<http headers>{color}}}
{{{color:#14892c}WzEsIkxvZ2luIiwxLDEseyIxIjp7InJlYyI6eyIxIjp7ImkzMiI6MH0sIjIiOnsiaTMyIjowfSwiNCI6eyJpMzIiOjB9LCI1Ijp7InN0ciI6InJvbW1lbHN0QGdtYWlsLmNvbSJ9LCI2Ijp7InN0ciI6ImRlc2VuIn0sIjciOnsiaTMyIjowfX19fV0={color}}}
Message expected by cpp server:
{{{color:#14892c}POST /olimpo-0.4 HTTP/1.1{color}}}
{{{color:#14892c}<http headers>{color}}}
{{{color:#14892c}[1,"Login",1,0,\{"1": {"rec":{"5":{"str":""},"6":\{"str":""},"7":( \{"i32":0}}}}]{color}}}
The question is:
What setup should be set on cpp server to read the message from thrift dart lib?
> HttpTransport with JsonProtocol - Dart Client <--> Cpp server.
> --------------------------------------------------------------
>
> Key: THRIFT-4581
> URL: https://issues.apache.org/jira/browse/THRIFT-4581
> Project: Thrift
> Issue Type: Question
> Components: C++ - Library, Dart - Library
> Affects Versions: 0.11.0
> Environment: The {color:#205081}*client*{color} is a dart app set with *httptransport* and *JsonProtocol.* The ide used is IntelliJ.
>
> The {color:#205081}*server*{color} is a cpp program set with *httptransport* and *JsonProtocol* as well. The problem is the message sent differs from the message expected. The ide used is QTCreator.
>
> Both client and server run on ubuntu 16.04 xenial.
> AMD FX(tm)-8350 Eight-Core Processor
> 16 gb
> Reporter: Rommel de Sene Trindade
> Priority: Trivial
>
> Dart httptransport uses base64 encoding to send http post data but Cpp httptransport doesn't decode the base64 coded json message.
> Eg.
> Message sent by dart client:
> {{{color:#14892c}POST /olp-0.4 HTTP/1.1{color}}}
> {{{color:#14892c}<http headers>{color}}}
> {{{color:#14892c}WzEsIkxvZ2luIiwxLDEseyIxIjp7InJlYyI6eyIxIjp7ImkzMiI6MH0sIjIiOnsiaTMyIjowfSwiNCI6eyJpMzIiOjB9LCI1Ijp7InN0ciI6InJvbW1lbHN0QGdtYWlsLmNvbSJ9LCI2Ijp7InN0ciI6ImRlc2VuIn0sIjciOnsiaTMyIjowfX19fV0={color}}}
>
> Message expected by cpp server:
> {{{color:#14892c}POST /olp-0.4 HTTP/1.1{color}}}
> {{{color:#14892c}<http headers>{color}}}
> {{{color:#14892c}[1,"Login",1,0,\{"1": {"rec":{"5":{"str":""},"6":\{"str":""},"7":\{"i32":0}}}}]{color}}}
>
> The question is:
> What setup should be set on cpp server to read the message from thrift dart lib?
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)