Advertisement
Guest User

Untitled

a guest
Aug 19th, 2015
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.89 KB | None | 0 0
  1.         public void Process()
  2.         {
  3.             var context = HttpContext.Current;
  4.  
  5.             var rawURL = context.Request.RawUrl;
  6.             var querystring = String.Empty;
  7.             var urlParts = rawURL.Split('?');
  8.             var url = urlParts[0];
  9.             if (urlParts.Count() == 2) querystring = urlParts[1];
  10.             if (url.StartsWith("/")) url = url.Substring(1);
  11.  
  12.             // Static resources
  13.             if(url.EndsWith(".png") || url.EndsWith(".css"))
  14.             {
  15.                 return;
  16.             }
  17.  
  18.             // Get language component
  19.             Translation.Language inLanguage = null;
  20.             {
  21.                 foreach (var lang in Translation.Language.GetAllLanguages())
  22.                 {
  23.                     if (url.StartsWith(lang.LanguageTag, StringComparison.CurrentCultureIgnoreCase))
  24.                     {
  25.                         inLanguage = lang;
  26.                         url = url.Substring(lang.LanguageTag.Length);
  27.                         if (url.StartsWith("/")) url = url.Substring(1);
  28.                         break;
  29.                     }
  30.                 }
  31.                 if (inLanguage == null)
  32.                 {
  33.                     inLanguage = Translation.Language.GetLanguage(Settings.Translation.ProjectReferenceVersionRequiredLanguageTag);
  34.                 }
  35.             }
  36.  
  37.             // Querystring
  38.             if (!String.IsNullOrEmpty(querystring)) querystring += "&";
  39.             querystring += "lang=" + inLanguage.LanguageTag.ToLower();
  40.             querystring = "?" + querystring;
  41.  
  42.             // Rewrite
  43.             if (String.IsNullOrEmpty(url))
  44.             {
  45.                 HttpContext.Current.RewritePath("~/Pages/Default.aspx" + querystring);
  46.             }
  47.             else
  48.             {
  49.                 HttpContext.Current.RewritePath("~/Pages/ErrorPages/404.aspx" + querystring);
  50.             }
  51.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement