Как установить кодировку заголовка Content-Type в OpenRasta - PullRequest
1 голос
/ 16 февраля 2011

Когда я возвращаю свой объект как JSON через JsonDataContractCodec, OpenRasta устанавливает заголовок Content-Type равным

application / json

, но игнорирует часть кодировки типа содержимого.

Когда я использую Chrome, он отправляет запрос GET с следующим заголовком:

Accept-Charset: windows-1251, utf-8; q = 0,7, *; q = 0,3

и все мои объекты json в кодировке utf-8 работают неправильно.

Я безуспешно пытался переопределить OperationResult.OpenRasta перезаписывает мой заголовок заголовком кодека.

1 Ответ

0 голосов
/ 17 февраля 2011

Только что нашел способ - унаследовать от JsonCoder и применить MediaTypeAttribute:

[MediaType("application/json; charset=utf8")]
public class JsonWithEncoding:JsonDataContractCodec
{

}

И зарегистрируйте обработчик с:

ResourceSpace.Has
  .ResourcesOfType<IEnumerable<ProfileResource>>()
  .AtUri("/profiles")
  .HandledBy<ProfileHandler>()
  .TranscodedBy<JsonWithEncoding>();

Но этот способ очень статичен: (

...