[ 
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 send HTTP Header with "Content-Type=text/plain" when 
the content is JSON.  (was: API not taking or responding with application/json)

> Ambari API send HTTP Header with "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: Minor
>              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)

Reply via email to