protected virtual void AddHeaders(IAbpMethodInvocation invocation, ActionApiDescriptionModel action, HttpRequestMessage requestMessage, ApiVersionInfo apiVersion) { //API Version if (!apiVersion.Version.IsNullOrEmpty()) { //TODO: What about other media types? requestMessage.Headers.Add("accept", $"{MimeTypes.Text.Plain}; v={apiVersion.Version}"); requestMessage.Headers.Add("accept", $"{MimeTypes.Application.Json}; v={apiVersion.Version}"); requestMessage.Headers.Add("api-version", apiVersion.Version); } //Header parameters var headers = action.Parameters.Where(p => p.BindingSourceId == ParameterBindingSources.Header).ToArray(); foreach (var headerParameter in headers) { var value = HttpActionParameterHelper.FindParameterValue(invocation.ArgumentsDictionary, headerParameter); if (value != null) { requestMessage.Headers.Add(headerParameter.Name, value.ToString()); } } //CorrelationId requestMessage.Headers.Add(CorrelationIdOptions.HttpHeaderName, CorrelationIdProvider.Get()); }
protected virtual void AddHeaders(IAbpMethodInvocation invocation, ActionApiDescriptionModel action, HttpRequestMessage requestMessage, ApiVersionInfo apiVersion) { //API Version if (!apiVersion.Version.IsNullOrEmpty()) { //TODO: What about other media types? requestMessage.Headers.Add("accept", $"{MimeTypes.Text.Plain}; v={apiVersion.Version}"); requestMessage.Headers.Add("accept", $"{MimeTypes.Application.Json}; v={apiVersion.Version}"); requestMessage.Headers.Add("api-version", apiVersion.Version); } //Header parameters var headers = action.Parameters.Where(p => p.BindingSourceId == ParameterBindingSources.Header).ToArray(); foreach (var headerParameter in headers) { var value = HttpActionParameterHelper.FindParameterValue(invocation.ArgumentsDictionary, headerParameter); if (value != null) { requestMessage.Headers.Add(headerParameter.Name, value.ToString()); } } //CorrelationId requestMessage.Headers.Add(AbpCorrelationIdOptions.HttpHeaderName, CorrelationIdProvider.Get()); //TenantId if (CurrentTenant.Id.HasValue) { //TODO: Use AbpAspNetCoreMultiTenancyOptions to get the key requestMessage.Headers.Add(TenantResolverConsts.DefaultTenantKey, CurrentTenant.Id.Value.ToString()); } //Culture //TODO: Is that the way we want? Couldn't send the culture (not ui culture) var currentCulture = CultureInfo.CurrentUICulture.Name ?? CultureInfo.CurrentCulture.Name; if (!currentCulture.IsNullOrEmpty()) { requestMessage.Headers.AcceptLanguage.Add(new StringWithQualityHeaderValue(currentCulture)); } //X-Requested-With requestMessage.Headers.Add("X-Requested-With", "XMLHttpRequest"); }
/// <summary> /// 创建 /// </summary> protected override async Task <SecurityLogInfo> CreateAsync() { var securityLogInfo = await base.CreateAsync(); securityLogInfo.CreationTime = DateTime.Now; securityLogInfo.UserId = CurrentUser.UserId; securityLogInfo.UserName = CurrentUser.UserName; securityLogInfo.ClientId = CurrentClient.Id; securityLogInfo.CorrelationId = CorrelationIdProvider.Get(); securityLogInfo.ClientIpAddress = WebClientInfoProvider.ClientIpAddress; securityLogInfo.BrowserInfo = WebClientInfoProvider.BrowserInfo; return(securityLogInfo); }
protected virtual void AddHeaders(HttpRequestMessage requestMessage) { //CorrelationId requestMessage.Headers.Add(AbpCorrelationIdOptions.HttpHeaderName, CorrelationIdProvider.Get()); //TenantId if (CurrentTenant.Id.HasValue) { //TODO: Use AbpAspNetCoreMultiTenancyOptions to get the key requestMessage.Headers.Add(TenantResolverConsts.DefaultTenantKey, CurrentTenant.Id.Value.ToString()); } //Culture //TODO: Is that the way we want? Couldn't send the culture (not ui culture) var currentCulture = CultureInfo.CurrentUICulture.Name ?? CultureInfo.CurrentCulture.Name; if (!currentCulture.IsNullOrEmpty()) { requestMessage.Headers.AcceptLanguage.Add(new StringWithQualityHeaderValue(currentCulture)); } //X-Requested-With requestMessage.Headers.Add("X-Requested-With", "XMLHttpRequest"); }