Question: I'm new to android development and as a pet project I wanted to try and connect to an bluetooth device using the HID profile using an android phone. The phone I'll be using is the vibrant and according to samsung it doesn't support the HID Profile ( <http://ars.samsung.com/customer/usa/jsp/faqs/faqs_view_us.jsp?SITE_ID=22&PG_ID=2&PROD_SUB_ID=557&PROD_ID=560&AT_ID=281257> ). Now my question is this, where does this "profile" reside? Is it on the hardware level or on the software level ( I assume the latter from other sources that I have read ). And if it is the latter, can HID implementation be created using RFCOMM communication over bluetooth (this is the only seemingly viable method I can see in the android bluetooth API).

I just want to make sure I understand the technology before I try and implement something that may not be possible.

Thanks in advance.

Answer: 
With an HTTP DELETE, the URI should fully identify the resource to be deleted. Sending additional data in the request body is unexpected, [and on App Engine, unsupported](http://code.google.com/p/googleappengine/issues/detail?id=601#c5):

> 
> Indeed, when the appspot frontends see
>  a DELETE request that includes an
>  body, such as your app, they return a
>  501. But, if you remove the body then it will serve a 200.
> 
> 
> 

Based on the subsequent discussion, it looks like they decided 400 was more appropriate than 501. In any event, if you omit the body and move your entity key into the URI, you should be fine.
[Drew Sears' Answer](https://stackoverflow.com/a/3375122/6124909) is the most probable issue.

However in our case, there was a GET request which was having an empty Request body `{}` which resulted in the `400 - Bad Request` Error with the following message:

> 
> Your client has issued a malformed or illegal request. That’s all we
> know.
> 
> 
> 

GET Request is not supposed to have a request body at all.