support of JSON in post requests

Задача: отправить методом POST данные не в формате `queryString`, а в формате `json`.

Как я её предлагаю решить: смотреть по заголовку `content-type`. Если передали `application/json`, то сериализовать json в строчку и отправлять в таком виде.

Попутно добавил проверку, что заголовок `content-type` уже задан и переопределять его не нужно.