def process_request(self, request): request.APP = amo.FIREFOX path_ = request.get_full_path() new_path = None new_qs = {} lang, app, rest = Prefixer(request).split_path(path_) if app: # Strip /<app> from URL. new_path = rest if lang: # Strip /<lang> from URL. if not new_path: new_path = rest new_qs['lang'] = lang.lower() region, _, rest = path_.lstrip('/').partition('/') region = region.lower() if region in mkt.regions.REGIONS_DICT: # Strip /<region> from URL. if not new_path: new_path = rest new_qs['region'] = region if new_path is not None: if not new_path or new_path[0] != '/': new_path = '/' + new_path # TODO: Make this a 301 when we enable region stores in prod. return http.HttpResponseRedirect(urlparams(new_path, **new_qs))
def process_request(self, request): request.API = False request.APP = amo.FIREFOX path_ = request.get_full_path() new_path = None new_qs = {} lang, app, rest = Prefixer(request).split_path(path_) if app: # Strip /<app> from URL. new_path = rest if lang: # Strip /<lang> from URL. if not new_path: new_path = rest new_qs['lang'] = lang.lower() region, _, rest = path_.lstrip('/').partition('/') region = region.lower() if region == 'api': # API isn't a region, its a sign that you are using the api. request.API = True if region in mkt.regions.REGION_LOOKUP: # Strip /<region> from URL. if not new_path: new_path = rest new_qs['region'] = mkt.regions.REGION_LOOKUP[region].slug if new_path is not None: if not new_path or new_path[0] != '/': new_path = '/' + new_path # TODO: Make this a 301 when we enable region stores in prod. return http.HttpResponseRedirect(urlparams(new_path, **new_qs))