public override async Task ExecuteAsync(ServiceStack.Web.IRequest req, ServiceStack.Web.IResponse res, object requestDto) { if (HostContext.AppHost.HasValidAuthSecret(req)) { return; } await base.ExecuteAsync(req, res, requestDto); //first check if session is authenticated if (res.IsClosed) { return; //AuthenticateAttribute already closed the request (ie auth failed) } if (claims.Except(req.GetClaims().Select(c => c.Type)).Any()) { return; } if (DoHtmlRedirectAccessDeniedIfConfigured(req, res)) { return; } res.StatusCode = (int)HttpStatusCode.Forbidden; res.StatusDescription = ErrorMessages.ClaimDoesNotExistFmt.Fmt(claims).Localize(req); await HostContext.AppHost.HandleShortCircuitedErrors(req, res, requestDto); }
public void WriteObjectToStream(ServiceStack.Web.IRequest request, object response, Stream target) { var s = JsonConvert.SerializeObject(response, Formatting.None, this.settings); using (var writer = new StreamWriter(target, Encoding.UTF8, 1024, true)) { writer.Write(s); } }