def get(self): uagent = UAgentInfo(str(self.request.user_agent), str(self.request.accept)) isMobile = uagent.detectMobileLong() or uagent.detectTierTablet() mainPage = 'mobile.html' if isMobile else 'index.html' if self.request.uri.find("try.dartlang.org") > 0: self.redirect("https://dartpad.dartlang.org") parsedURL = urlparse(self.request.uri) path = parsedURL.path targetSplits = path.split('/') if os.path.isfile(path): _serve(self.response, path) return # If it is a request for a file in the TLD, serve as is. if targetSplits[1].find('.') > 0: newPath = "/".join(targetSplits[1:]) if newPath == '': _serve(self.response, mainPage) else: _serve(self.response, newPath) return # If it is a request for a TLD psuedo-item, serve back the main page if len(targetSplits) < 3: _serve(self.response, mainPage) return # If it is a request for something in the packages folder, serve it if targetSplits[1] == 'packages': newPath = "/".join(targetSplits[1:]) if newPath == '': _serve(self.response, mainPage) else: _serve(self.response, newPath) return # Otherwise it's a request for a item after the gist psudeo path # drop the gist and serve it. if len(targetSplits) >= 3: newPath = "/".join(targetSplits[2:]) if newPath == '': _serve(self.response, mainPage) else: _serve(self.response, newPath) return
def get(self): uagent = UAgentInfo(str(self.request.user_agent), str(self.request.accept)) isMobile = uagent.detectMobileLong() or uagent.detectTierTablet() mainPage = 'mobile.html' if isMobile else 'index.html' if self.request.uri.find("try.dartlang.org") > 0: self.redirect("https://dartpad.dartlang.org") parsedURL = urlparse(self.request.uri) path = parsedURL.path; targetSplits = path.split('/') if os.path.isfile(path): _serve(self.response, path) return # If it is a request for a file in the TLD, serve as is. if targetSplits[1].find('.') > 0: newPath = "/".join(targetSplits[1:]) if newPath == '': _serve(self.response, mainPage) else: _serve(self.response, newPath) return # If it is a request for a TLD psuedo-item, serve back the main page if len(targetSplits) < 3: _serve(self.response, mainPage) return # If it is a request for something in the packages folder, serve it if targetSplits[1] == 'packages': newPath = "/".join(targetSplits[1:]) if newPath == '': _serve(self.response, mainPage) else: _serve(self.response, newPath) return # Otherwise it's a request for a item after the gist psudeo path # drop the gist and serve it. if len(targetSplits) >= 3: newPath = "/".join(targetSplits[2:]) if newPath == '': _serve(self.response, mainPage) else: _serve(self.response, newPath) return