I have a service stack application, A test service receives a simple request, but I'm finding the value of the request once received isn't matching the original request.
I send in: http://localhost/testapp/test?value=%22test%20data%22%20%3C12345%3E
but the code outputs: test data" 12345>
Note the missing first double quote and the missing left hand angle bracket.
Any ideas why the application would be dropping the first " and the "<"? Is it part of some sort XSS protection?
My code:
public class TestService : RestServiceBase<RequestDto>, IRestService<RequestDto>
{
public override object OnGet(RequestDto request)
{
return request.Value;
}
}
public class RequestDto
{
public string Value { get; set; }
}
To allow service stack in the first place to receive requests with "<". I had to switch the applications web.config to use: requestValidationMode="2.0"