public string Protect(StringValues value, ProtectType protectType)
        {
            if (string.IsNullOrEmpty(value) || string.IsNullOrWhiteSpace(value))
            {
                return(value);
            }

            if (protectType == ProtectType.Truncate)
            {
                ReadOnlySpan <char> valueSpan = value.ToString();

                return(new string(valueSpan.Slice(0, valueSpan.Length / 2)));
            }
            else
            {
                using var derivedBytes = new Rfc2898DeriveBytes(value.ToString(),
                                                                saltSize: 16,
                                                                iterations: 50000,
                                                                HashAlgorithmName.SHA256);

                var key = derivedBytes.GetBytes(16);

                return(Encoding.UTF8.GetString(key));
            }
        }
        /// <summary>Invoke middleware</summary>
        /// <param name="context">Http request context</param>
        public async Task Invoke(HttpContext context)
        {
            StringValues traceId = string.Empty, xOriginalFor = string.Empty;

            context.Request.Headers.TryGetValue("X-Original-For", out xOriginalFor);
            if (context.Request.Headers.TryGetValue("TraceId", out traceId) == false)
            {
                traceId = Guid.NewGuid().ToString();
                context.Request.Headers.Add("TraceId", traceId);
            }

            using (LogContext.PushProperty("TraceId", traceId.ToString()))
            {
                context
                .Response
                .OnStarting(
                    state =>
                {
                    var httpContext = (HttpContext)state;

                    httpContext.Response.Headers.Add("TraceId", traceId.ToString());
                    var keysName = string.Join(",", httpContext.Response.Headers.Keys);
                    httpContext.Response.Headers.Add("Access-Control-Expose-Headers", keysName);
                    return(Task.CompletedTask);
                },
                    context
                    );

                await Next(context);
            }
        }
Exemple #3
0
        public async Task PostUploadChunk([FromBody] object obj)
        {
            bool      IsChunkData = compress.IsChunkData(obj.ToString());
            ChunkData dataChunk   = null;

            if (IsChunkData)
            {
                dataChunk = Newtonsoft.Json.JsonConvert.DeserializeObject <ChunkData>(obj.ToString());
                var          RequestHeaders  = this.Request.Headers;
                StringValues ChunkKeyCurrent = "";
                if (RequestHeaders.Keys.Contains(compress.ChunkResponseUploadHeader))
                {
                    RequestHeaders.TryGetValue(compress.ChunkResponseUploadHeader, out ChunkKeyCurrent);
                }
                if (!string.IsNullOrEmpty(ChunkKeyCurrent))
                {
                    string[] checkChunk = ChunkKeyCurrent.ToString().Split("_");
                    string   key1       = string.Empty;
                    string   key2       = string.Empty;
                    if (checkChunk.Count() > 1)
                    {
                        await CompressObject.GetInstance.ChunkDataUploadSvr(dataChunk);

                        MemoryCacher.GetInstance.AddMinutes(ChunkKeyCurrent.ToString(), dataChunk, dataChunk.ChunkTimeMinutes);
                    }
                }
            }
        }
        /// <summary>
        /// 获取用户IP地址
        /// </summary>
        /// <returns></returns>
        private static string GetRealIP()
        {
            var request = CoreHttpContext.Current.Request;

            if (request.Headers == null)
            {
                return(string.Empty);
            }
            StringValues ipVal = new StringValues("");

            if (request.Headers.TryGetValue("CF-CONNECTING-IP", out ipVal))
            {
                return(ipVal.ToString());
            }
            if (request.Headers.TryGetValue("HTTP_LX_IP", out ipVal))
            {
                return(ipVal.ToString());
            }
            if (request.Headers.TryGetValue("HTTP_X_FORWARDED_FOR", out ipVal))
            {
                return(ipVal.ToString());
            }
            if (request.Headers.TryGetValue("X_FORWARDED_FOR", out ipVal))
            {
                return(ipVal.ToString());
            }
            if (request.Headers.TryGetValue("REMOTE_ADDR", out ipVal))
            {
                return(ipVal.ToString());
            }
            return(string.Empty);
        }
Exemple #5
0
        public IActionResult Create(UserDto dto)
        {
            // TODO: use jwt auth
            StringValues id = string.Empty;

            Request.Headers.TryGetValue("user_id", out id);
            if (string.IsNullOrEmpty(id.ToString()))
            {
                return(Unauthorized("Unauthorized access blocked. Please log in as admin"));
            }
            User loggedInUser = _uow.Users.GetUser(int.Parse(id.ToString()));

            if (loggedInUser.UserType.ToLower() != "admin")
            {
                return(Unauthorized("Unauthorized access blocked. Please log in as admin"));
            }
            // TODO: consider using automapper
            var user = new User {
                Name = dto.Name, Email = dto.Email, Password = HasherUtil.Hash(dto.Password), Phone = dto.Phone, State = dto.State, IsActive = dto.IsActive, DateAdded = DateTime.Now, Notes = dto.Notes, UserType = dto.UserType
            };

            _uow.Users.AddUser(user);
            _uow.Complete();
            return(Ok());
        }
Exemple #6
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseBrowserLink();
            }
            else
            {
                app.UseExceptionHandler("/k-admin/Home/Error");
            }

            //app.UseStaticFiles();
            app.UseAuthentication();
            app.UseSession();

            app.UseStaticFiles(new StaticFileOptions()
            {
                RequestPath = new PathString("/k-admin")
            });

            app.Use((context, next) =>
            {
                context.Response.Headers.Add("Cache-Control", "max-age=0");
                if (IsHostedOnAlicloud())
                {
                    try {
                        StringValues aliHost = "";
                        context.Request.Headers.TryGetValue("Ali-Swift-Log-Host", out aliHost);
                        if (!String.IsNullOrEmpty(aliHost.ToString()))
                        {
                            context.Request.Headers.Remove("Host");
                            context.Request.Headers.Add("Host", aliHost.ToString());
                        }
                    } catch (ArgumentNullException ex) {
                        Console.WriteLine(JsonConvert.SerializeObject(ex));
                    }
                }
                return(next());
            });

            //var options = new RewriteOptions().AddRedirect(@"(.*[(\.js)])$", "kadmin/$1");

            //app.UseRewriter(options);


            ////Handles all routing coming from forwarded loadbalancer
            //app.UseMiddleware<RouteHandlerMiddleware>();

            app.UseRouting();
            app.UseAuthorization();
            app.UseCors("AnyOrigin");
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(name: "default",
                                             pattern: "k-admin/{controller=Home}/{action=Index}/{id?}");
            });
        }
        public async Task Invoke(HttpContext httpContext,
                                 IConnectionManager manager,
                                 IStreamCompressor compressor,
                                 ILoggerFactory loggerFactory)
        {
            if (httpContext.WebSockets.IsWebSocketRequest)
            {
                string       connectionId  = string.Empty;
                string       connectorName = string.Empty;
                StringValues headerValue   = "";
                if (httpContext.Request.Headers.TryGetValue(NCSConstants.ConnectorName, out headerValue))
                {
                    connectorName = headerValue.ToString();
                }
                if (httpContext.Request.Headers.TryGetValue(NCSConstants.ConnectionId, out headerValue))
                {
                    connectionId = headerValue.ToString();
                }

                if (string.IsNullOrEmpty(connectorName))
                {
                    if (httpContext.Request.Query.ContainsKey(NCSConstants.ConnectorName))
                    {
                        connectorName = httpContext.Request.Query[NCSConstants.ConnectorName];
                    }
                }
                if (string.IsNullOrEmpty(connectionId))
                {
                    if (httpContext.Request.Query.ContainsKey(NCSConstants.ConnectionId))
                    {
                        connectionId = httpContext.Request.Query[NCSConstants.ConnectionId];
                        Guid connectionIdGuid = Guid.Empty;
                        if (!Guid.TryParse(connectionId, out connectionIdGuid))
                        {
                            connectionId = string.Empty;
                        }
                    }
                }

                var webSocket = await httpContext.WebSockets.AcceptWebSocketAsync();

                if (string.IsNullOrEmpty(connectionId))
                {
                    connectionId = Guid.NewGuid().ToString("N");
                }

                await manager.ConnectAsync(webSocket, connectionId : connectionId, connectorName : connectorName, cancellationToken : _cancellationToken);
            }
            else
            {
                await _next(httpContext);
            }
        }
        public ActionResult <IList <Evaluation> > GetEvaluations()
        {
            return(this.ExecuteRequestAndHandle(
                       () =>
            {
                StringValues pageSize = string.Empty;
                StringValues pageNumber = string.Empty;
                StringValues sortValue = string.Empty;
                StringValues matchValue = string.Empty;

                var sortCriteria = new SortCriteria();

                if (!this.TryGetQueryParam("page[size]", out pageSize))
                {
                    throw new HttpException(StatusCodes.Status400BadRequest, "Page size is required");
                }

                if (!this.TryGetQueryParam("page[number]", out pageNumber))
                {
                    throw new HttpException(StatusCodes.Status400BadRequest, "Page number is required");
                }

                if (this.TryGetQueryParam("sort", out sortValue))
                {
                    sortCriteria.SortOption = SortOption.Ascendent;
                    if (sortValue.ToString().StartsWith("-"))
                    {
                        sortValue = sortValue.ToString().Replace("-", string.Empty);
                        sortCriteria.SortOption = SortOption.Descendent;
                    }

                    sortCriteria.Property = sortValue;
                }

                this.TryGetQueryParam("filter", out matchValue);

                var queryParam = new QueryParameters()
                {
                    SortCriteria = sortCriteria,
                    SearchCriteria = new SearchCriteria()
                    {
                        Property = "Name", MatchInput = matchValue
                    },
                    PageNumber = int.Parse(pageNumber),
                    PageSize = int.Parse(pageSize)
                };

                var evaluations = ServicesFacade.Instance.GetEvaluationsService().GetEvaluations(queryParam);
                Log.Info(string.Format("Found {0} evaluations", evaluations.Data.Count));
                return evaluations;
            },
                       StatusCodes.Status200OK));
        }
        public static T GetHeaderValueAs <T>(string headerName)
        {
            StringValues values = default;

            if (HttpContext?.Request?.Headers?.TryGetValue(headerName, out values) ?? false)
            {
                string rawValues = values.ToString();   // writes out as Csv when there are multiple.
                if (!rawValues.IsNullEmpty())
                {
                    return((T)Convert.ChangeType(values.ToString(), typeof(T)));
                }
            }
            return(default(T));
        }
Exemple #10
0
        /// <summary>Gets the header value as.</summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="context">The context.</param>
        /// <param name="headerName">Name of the header.</param>
        /// <returns></returns>
        private T GetHeaderValueAs <T>(HttpContext context, string headerName)
        {
            StringValues values = default;

            if (context?.Request?.Headers?.TryGetValue(headerName, out values) ?? false)
            {
                string rawValues = values.ToString();   // writes out as Csv when there are multiple.

                if (!string.IsNullOrWhiteSpace(rawValues))
                {
                    return((T)Convert.ChangeType(values.ToString(), typeof(T)));
                }
            }

            return(default);
Exemple #11
0
        public static T?GetHeaderValueAsNullableReference <T>(HttpContext p_httpContext, string p_headerName) where T : class // string is class, not struct
        {
            StringValues values = string.Empty;

            if (p_httpContext?.Request?.Headers?.TryGetValue(p_headerName, out values) ?? false)
            {
                string rawValues = values.ToString();   // writes out as Csv when there are multiple.

                if (!String.IsNullOrEmpty(rawValues))
                {
                    return((T)Convert.ChangeType(values.ToString(), typeof(T)));
                }
            }
            return(default(T));
        }
Exemple #12
0
        public bool TryTransform(HttpRequestRecord record, ReadOnlySpan <byte> body, StringValues contentTypeHeaderValues, out BodyDataTransformResult result)
        {
            var json = MessagePackSerializer.ConvertToJson(body.ToArray(), MessagePack.Resolvers.ContractlessStandardResolver.Options);

            result = new BodyDataTransformResult(Encoding.UTF8.GetBytes(json), contentTypeHeaderValues.ToString(), "application/json");
            return(true);
        }
        // used in samples
        public static BinderResult TryStringValidateLength(this StringValues stringValues, Action <string> setter, int length)
        {
            var v = stringValues.ToString();

            setter(v);
            return(new BinderResult(v.Length > length ? new[] { "Too long!" } : null));
        }
        public IActionResult SendEmail([FromBody] Email email)
        {
            try
            {
                StringValues accessToken = new StringValues();
                Request.Headers.TryGetValue("Authorization", out accessToken);
                if (accessToken.Count() == 0)
                {
                    return(StatusCode(401, "Empty or no authorization header."));
                }

                if (accessToken.FirstOrDefault().ToString() == null || accessToken.FirstOrDefault().ToString() == "")
                {
                    return(StatusCode(401, "Empty or no authorization header."));
                }

                if (_validation.CheckValidation(accessToken.ToString()))
                {
                    _smtpLogic.SendEmail(email);
                    return(Ok());
                }

                return(StatusCode(403, "This is an invalid access token."));
            }
            catch (Exception e)
            {
                _logger.LogError(e.Message, e);
                return(StatusCode(500, e.Message));
            }
        }
        public IActionResult PutStartAutomatedTestingEC2(bool start)
        {
            try
            {
                StringValues accessToken = new StringValues();
                Request.Headers.TryGetValue("Authorization", out accessToken);
                if (accessToken.Count() == 0)
                {
                    return(StatusCode(401, "Empty or no authorization header."));
                }

                if (accessToken.FirstOrDefault().ToString() == null || accessToken.FirstOrDefault().ToString() == "")
                {
                    return(StatusCode(401, "Empty or no authorization header."));
                }

                if (_validation.CheckValidation(accessToken.ToString()))
                {
                    _ec2Logic.StartAutomatedTestingEC2();
                    return(Ok());
                }

                return(StatusCode(403, "This is an invalid access token."));
            }
            catch (Exception e)
            {
                _logger.LogError(e.Message, e);
                return(StatusCode(500));
            }
        }
        public IActionResult DeleteArcadeMachine(int arcadeMachineId)
        {
            try
            {
                StringValues accessToken = new StringValues();
                Request.Headers.TryGetValue("Authorization", out accessToken);
                if (accessToken.Count() == 0)
                {
                    return(StatusCode(401, "Empty or no authorization header."));
                }

                if (accessToken.FirstOrDefault().ToString() == null || accessToken.FirstOrDefault().ToString() == "")
                {
                    return(StatusCode(401, "Empty or no authorization header."));
                }

                if (_validation.CheckValidation(accessToken.ToString()))
                {
                    _rdsLogic.DeleteArcadeMachine(arcadeMachineId);
                    return(StatusCode(204));
                }

                return(StatusCode(403, "This is an invalid access token."));
            }
            catch (Exception e)
            {
                _logger.LogError(e.Message, e);
                return(StatusCode(500, e.Message));
            }
        }
        public IActionResult GetInfo()
        {
            try
            {
                StringValues accessToken = new StringValues();
                Request.Headers.TryGetValue("Authorization", out accessToken);

                if (accessToken.Count() == 0)
                {
                    return(StatusCode(401, "Empty or no authorization header."));
                }

                if (accessToken.FirstOrDefault().ToString() == null || accessToken.FirstOrDefault().ToString() == "")
                {
                    return(StatusCode(401, "Empty or no authorization header."));
                }

                if (_validation.CheckValidation(accessToken.ToString()))
                {
                    return(Ok("Knights Arcade Restricted"));
                }

                return(StatusCode(403, "This is an invalid access token."));
            }
            catch (Exception e)
            {
                _logger.LogError(e, e.Message);
                return(StatusCode(500, e.Message));
            }
        }
        public IActionResult PostNewEntry([FromBody] NewEntry newEntry)
        {
            try
            {
                StringValues accessToken = new StringValues();
                Request.Headers.TryGetValue("Authorization", out accessToken);
                if (accessToken.Count() == 0)
                {
                    return(StatusCode(401, "Empty or no authorization header."));
                }

                if (accessToken.FirstOrDefault().ToString() == null || accessToken.FirstOrDefault().ToString() == "")
                {
                    return(StatusCode(401, "Empty or no authorization header."));
                }

                if (_validation.CheckValidation(accessToken.ToString()))
                {
                    Tuple <Games, int> tuple = _rdsLogic.PostNewEntry(newEntry);
                    if (tuple.Item2 == 1)
                    {
                        return(StatusCode(409, "That game name already exists."));
                    }
                    _ec2Logic.StartAutomatedTestingEC2();
                    return(StatusCode(201, tuple.Item1));
                }

                return(StatusCode(403, "This is an invalid access token."));
            }
            catch (Exception e)
            {
                _logger.LogError(e.Message, e);
                return(StatusCode(500, e.Message));
            }
        }
        /// <summary>
        /// Make an evaluation that filter assets
        /// </summary>
        /// <param name="before"></param>
        /// <param name="after"></param>
        /// <param name="amount_min"></param>
        /// <param name="amount_max"></param>
        /// <param name="result"></param>
        /// <returns></returns>
        public static IQueryable <IAssetAnotation> FilterAssets(string term, StringValues before, StringValues after, StringValues amount_min, StringValues amount_max, IQueryable <IAssetAnotation> result)
        {
            if (term != StringValues.Empty)
            {
                result = result.Where(x => x.Concept.Contains(term.ToString()));
            }

            if (before != StringValues.Empty && DateTime.TryParse(before, out DateTime instanceBefore))
            {
                result = result.Where(x => x.AtCreated < instanceBefore);
            }

            if (before != StringValues.Empty && DateTime.TryParse(after, out DateTime instanceAfter))
            {
                result = result.Where(x => x.AtCreated > instanceAfter);
            }

            if (amount_min != StringValues.Empty && int.TryParse(amount_min.ToString(), out int instanceMin))
            {
                result = result.Where(x => x.Amount >= instanceMin);
            }

            if (amount_max != StringValues.Empty && int.TryParse(amount_max.ToString(), out int instanceMax))
            {
                result = result.Where(x => x.Amount <= instanceMax);
            }

            return(result);
        }
Exemple #20
0
        /// <summary>
        /// 从请求中获取值
        /// </summary>
        /// <param name="request"></param>
        /// <param name="key"></param>
        /// <returns></returns>
        public static String GetRequestValue(this HttpRequest request, String key)
        {
            var value = new StringValues();

            if (request.HasFormContentType)
            {
                value = request.Form[key];
            }

            if (value.Count > 0)
            {
                return(value);
            }

            value = request.Query[key];

            if (value.Count > 0)
            {
                return(value.ToString());
            }

            // 拒绝output关键字,避免死循环
            if (key == "output")
            {
                return(null);
            }

            var entityBody = request.GetRequestBody <NullableDictionary <String, Object> >();

            if (entityBody == null)
            {
                return(null);
            }
            return(!entityBody.TryGetValue(key, out var v) ? null : v?.ToString());
        }
        public ActionResult Create(IFormCollection collection)
        {
            try
            {
                var    courseName  = new StringValues();
                var    description = new StringValues();
                var    token       = new StringValues();
                string id          = "";
                if (collection.TryGetValue("CourseName", out courseName) && collection.TryGetValue("Description", out description) && collection.TryGetValue("token", out token))
                {
                    var username = AuthLogic.CheckToken(token.ToString());
                    if (username == "")
                    {
                        throw new Exception("NotAuthorized");
                    }

                    // save course
                    id = Course.CreateCourse(courseName.ToString(), description.ToString(), username);
                }
                return(RedirectToAction("Details", new { token = token, id = id }));
            }
            catch
            {
                return(View());
            }
        }
Exemple #22
0
        private T ChangeType <T>(StringValues obj)
        {
            var value = obj.ToString();

            if (string.IsNullOrWhiteSpace(value))
            {
                return(default);
        public static string GetToken(StringValues value)
        {
            var splitValue = value.ToString().Split(';');
            var token      = splitValue[0].Split('=');

            return(token[1]);
        }
        //[Obsolete("无法处理JsonHttpContent")]
        public static string GetValue(this HttpRequest request, string key, bool includeCookie = false)
        {
            ThrowIf.Empty(key, nameof(key));

            StringValues value = StringValues.Empty;

            //QueryString
            if (StringValues.IsNullOrEmpty(value) && request != null && request.Query != null)
            {
                value = request.Query[key];
            }

            //Request的Body
            if (StringValues.IsNullOrEmpty(value) && request != null && request.HasFormContentType)
            {
                value = request.Form[key];
            }

            if (includeCookie)
            {
                //Request Cookie
                if (StringValues.IsNullOrEmpty(value) && request != null && request.Cookies != null)
                {
                    value = request.Cookies[key];
                }
            }

            return(value.ToString());
        }
Exemple #25
0
        public async Task<IActionResult> OnGetAsync(string id)
        {
            try
            {
                ShortenLink = await _db.ShortenLinks.FindAsync(id);
                if (ShortenLink != null)
                {
                    Request.Headers.TryGetValue("Referer", out originValues);

                    ShortenLinkLog = new ShortenLinkLog();
                    ShortenLinkLog.ShortLinkId = ShortenLink.Id;
                    ShortenLinkLog.LongLink = ShortenLink.LongLink;
                    ShortenLinkLog.ShortLink = ShortenLink.ShortLink;
                    ShortenLinkLog.Origen = originValues.ToString();
                    ShortenLinkLog.DateAccess = DateTime.Now;

                    _db.ShortenLinkLogs.Add(ShortenLinkLog);

                    ShortenLink.AccessCount++;
                    _db.Attach(ShortenLink).State = EntityState.Modified;

                    await _db.SaveChangesAsync();
                    return Redirect(ShortenLink.LongLink);
                }
                else
                {
                    return Page();
                }
            }
            catch
            {
                return Page();
            }
            
        }
Exemple #26
0
        private async Task <string> GetUserAuthorizationJwtAsync(
            HttpContext httpContext,
            IHttpClientFactory httpClientFactory,
            IMemoryCache memoryCache,
            StringValues value,
            int key)
        {
            using (HttpClient client = httpClientFactory.CreateClient(AuthorizationHttpClientName))
            {
                client.DefaultRequestHeaders.Add(HeaderNames.Authorization, value.ToString());

                HttpResponseMessage response = await client.GetAsync(_jwtAuthorizationOptions.AuthorizationUrl + httpContext.Request.Path.Value);

                if (response.IsSuccessStatusCode)
                {
                    string jwtToken = await response.Content.ReadAsStringAsync();

                    SetTokenToCache(memoryCache, key, jwtToken, httpContext.Request);

                    return(jwtToken);
                }
                else
                {
                    throw GetExceptionForResponse(response);
                }
            }
        }
Exemple #27
0
        public Task BindModelAsync(ModelBindingContext bindingContext)
        {
            if (bindingContext == null)
            {
                throw new ArgumentNullException(nameof(bindingContext));
            }

            var formReq = bindingContext.HttpContext.Request.Query;

            var page = new StringValues();

            formReq.TryGetValue("page", out page);
            var limit = new StringValues();

            formReq.TryGetValue("limit", out limit);
            var groupBy = new StringValues();

            formReq.TryGetValue("groupBy", out groupBy);
            var groupByDirection = new StringValues();

            formReq.TryGetValue("groupByDirection", out groupByDirection);

            var result = new GetPlayersGroupingDto()
            {
                page             = Convert.ToInt16(page),
                limit            = Convert.ToInt16(limit),
                groupBy          = groupBy.ToString(),
                groupByDirection = groupByDirection.ToString()
            };

            bindingContext.Result = ModelBindingResult.Success(result);
            return(Task.CompletedTask);
        }
Exemple #28
0
        private string DetermineTransactionId(StringValues transactionIds)
        {
            var alreadyPresentTransactionId = transactionIds.ToString();

            if (String.IsNullOrWhiteSpace(alreadyPresentTransactionId))
            {
                if (_options.Transaction.GenerateWhenNotSpecified)
                {
                    _logger.LogTrace("No transactional ID was found in the request, generating one...");
                    string newlyGeneratedTransactionId = _options.Transaction.GenerateId();

                    if (String.IsNullOrWhiteSpace(newlyGeneratedTransactionId))
                    {
                        throw new InvalidOperationException(
                                  $"Correlation cannot use function '{nameof(_options.Transaction.GenerateId)}' to generate an transaction ID because the resulting ID value is blank");
                    }

                    _logger.LogTrace("Generated '{TransactionId}' as transactional correlation ID", newlyGeneratedTransactionId);
                    return(newlyGeneratedTransactionId);
                }

                _logger.LogTrace("No transactional correlation ID found in request header '{HeaderName}' but since the correlation options specifies that no transactional ID should be generated, there will be no ID present",
                                 _options.Transaction.HeaderName);

                return(null);
            }

            _logger.LogTrace("Found transactional correlation ID '{TransactionId}' in request header '{HeaderName}'", alreadyPresentTransactionId, _options.Transaction.HeaderName);
            return(alreadyPresentTransactionId);
        }
        public IActionResult Login(IFormCollection collection)
        {
            var    email = new StringValues();
            var    pass  = new StringValues();
            string token = "";

            if (collection.TryGetValue("Email", out email) && collection.TryGetValue("Password", out pass))
            {
                try
                {
                    var auth = new AuthLogic();
                    auth.Email    = email.ToString();
                    auth.Password = pass.ToString();
                    token         = auth.Login();
                    return(RedirectToAction("Index", "Profile", new { token = token }));
                }
                catch (Exception)
                {
                    return(Error());
                }
            }
            else
            {
                return(Error());
            }
        }
Exemple #30
0
        public async Task PostGet()
        {
            var metadataOnly = GetBoolValueQueryString("metadataOnly", required: false) ?? false;

            using (ContextPool.AllocateOperationContext(out DocumentsOperationContext context))
            {
                var docs = await context.ReadForMemoryAsync(RequestBodyStream(), "docs");

                if (docs.TryGet("Ids", out BlittableJsonReaderArray array) == false)
                {
                    ThrowRequiredPropertyNameInRequest("Ids");
                }

                var ids = new string[array.Length];
                for (int i = 0; i < array.Length; i++)
                {
                    ids[i] = array.GetStringByIndex(i);
                }

                context.OpenReadTransaction();

                // init here so it can be passed to TW
                var idsStringValues = new StringValues(ids);

                if (TrafficWatchManager.HasRegisteredClients)
                {
                    AddStringToHttpContext(idsStringValues.ToString(), TrafficWatchChangeType.Documents);
                }

                await GetDocumentsByIdAsync(context, idsStringValues, metadataOnly);
            }
        }
 string QueryToJson(IQueryCollection query)
 {
     var dict = new Dictionary<string,string>();
     foreach (var key in query.Keys) {
         StringValues @value = new StringValues();
         query.TryGetValue(key, out @value);
         dict.Add(key, @value.ToString());
     }
     return JsonConvert.SerializeObject(dict);
 }
        public void DefaultNullOrEmpty_ExpectedValues(StringValues stringValues)
        {
            Assert.Equal(0, stringValues.Count);
            Assert.Null((string)stringValues);
            Assert.Equal((string)null, stringValues);
            Assert.Equal(string.Empty, stringValues.ToString());
            Assert.Equal(new string[0], stringValues.ToArray());

            Assert.True(StringValues.IsNullOrEmpty(stringValues));
            Assert.Throws<IndexOutOfRangeException>(() => stringValues[0]);
            Assert.Throws<IndexOutOfRangeException>(() => ((IList<string>)stringValues)[0]);
            Assert.Equal(string.Empty, stringValues.ToString());
            Assert.Equal(-1, ((IList<string>)stringValues).IndexOf(null));
            Assert.Equal(-1, ((IList<string>)stringValues).IndexOf(string.Empty));
            Assert.Equal(-1, ((IList<string>)stringValues).IndexOf("not there"));
            Assert.False(((ICollection<string>)stringValues).Contains(null));
            Assert.False(((ICollection<string>)stringValues).Contains(string.Empty));
            Assert.False(((ICollection<string>)stringValues).Contains("not there"));
            Assert.Equal(0, stringValues.Count());
        }