I removed the line assigning ARequest.ContentType still no output
No, that wasn't the problem.
It was just not correct to set the ContentType of the incoming request.
You need to do that on the ARepsonse (outgoing) request.
But that's also not your actual problem.
Try setting type=text for the input like jshah and egsuh suggested.
I also missed the type=submit for the button. I wonder if the browser actually does a POST when there is no type=submit in the button tag. So put that in there too.
<form action="http://localhost/api" method="POST">
<div>
<label for="pname">What is your name?</label>
<input type=text name="pname" id="pname" value="Jon Doe">
</div>
<div>
</div>
<div>
<button type=submit>Send</button>
</div>
</form>