You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ambari.apache.org by "Sean Roberts (JIRA)" <ji...@apache.org> on 2018/06/18 16:45:00 UTC

[jira] [Updated] (AMBARI-9016) Ambari API uses HTTP Header "Content-Type=text/plain" when the content is JSON.

     [ https://issues.apache.org/jira/browse/AMBARI-9016?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sean Roberts updated AMBARI-9016:
---------------------------------
    Summary: Ambari API uses HTTP Header "Content-Type=text/plain" when the content is JSON.  (was: Ambari API send HTTP Header "Content-Type=text/plain" when the content is JSON.)

> Ambari API uses HTTP Header "Content-Type=text/plain" when the content is JSON.
> -------------------------------------------------------------------------------
>
>                 Key: AMBARI-9016
>                 URL: https://issues.apache.org/jira/browse/AMBARI-9016
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-server
>    Affects Versions: 1.7.0, 2.6.2
>            Reporter: Sean Roberts
>            Priority: Blocker
>              Labels: newbie
>
> Ambari responds with a "Content-Type"="text/plain" when the content is actually JSON.
> Also, API does not accept the "Content-Type"="application/json" even though it expects the content of the PUT/POSTS to be JSON.
> This breaks most any http library or application, including Knox.
> The API does not accept JSON and when it responds with JSON it says it's "text/plain":
> {code}
> $ curl -v -u admin\
>   -H "Content-Type: application/json" -H x-requested-by:useless \
>   http://localhost:8080/api/v1/stacks/HDP/versions/2.4/recommendations -d @temp.json
> < HTTP/1.1 500 Server Error
> < Content-Type: text/plain; charset=ISO-8859-1
> {
>   "status": 500,
>   "message": "Server Error"
> }
> {code}
> Meanwhile it accepts JSON as text/plain and still responds with "text/plain" even though it is sending JSON:
> {code}
> $ curl -v -u admin\
>   -H "Content-Type: test/plain" -H x-requested-by:useless \
>   http://localhost:8080/api/v1/stacks/HDP/versions/2.4/recommendations -d @temp.json
> > POST /api/v1/stacks/HDP/versions/2.4/recommendations HTTP/1.1
> > Content-Type: test/plain
> < HTTP/1.1 200 OK
> < Content-Type: text/plain
> {
>   "resources" : [
>     {
>       "href" : "http://localhost:8080/api/v1/stacks/HDP/versions/2.4/recommendations/8",
> ... snipped the rest of the JSON since it's not needed ...
> {code}
> This is the file that was sent:
> {code}
> $ cat temp.json
>     {
>       "recommend" : "configurations",
>       "services" : [ "AMBARI_METRICS","HDFS","HIVE","MAPREDUCE2","PIG","TEZ","YARN","ZOOKEEPER" ],
>       "hosts" : [ "ip-10-0-1-159.ec2.internal","ip-10-0-1-31.ec2.internal","ip-10-0-1-32.ec2.internal","ip-10-0-1-33.ec2.internal" ]
>     }
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)