Python twisted.web.http.FOUND Examples
The following are 6
code examples of twisted.web.http.FOUND().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
twisted.web.http
, or try the search function
.
Example #1
Source File: test_util.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 6 votes |
def test_headersAndCode(self): """ L{redirectTo} will set the C{Location} and C{Content-Type} headers on its request, and set the response code to C{FOUND}, so the browser will be redirected. """ request = Request(DummyChannel(), True) request.method = b'GET' targetURL = b"http://target.example.com/4321" redirectTo(targetURL, request) self.assertEqual(request.code, FOUND) self.assertEqual( request.responseHeaders.getRawHeaders(b'location'), [targetURL]) self.assertEqual( request.responseHeaders.getRawHeaders(b'content-type'), [b'text/html; charset=utf-8'])
Example #2
Source File: test_util.py From learn_python3_spider with MIT License | 6 votes |
def test_headersAndCode(self): """ L{redirectTo} will set the C{Location} and C{Content-Type} headers on its request, and set the response code to C{FOUND}, so the browser will be redirected. """ request = Request(DummyChannel(), True) request.method = b'GET' targetURL = b"http://target.example.com/4321" redirectTo(targetURL, request) self.assertEqual(request.code, FOUND) self.assertEqual( request.responseHeaders.getRawHeaders(b'location'), [targetURL]) self.assertEqual( request.responseHeaders.getRawHeaders(b'content-type'), [b'text/html; charset=utf-8'])
Example #3
Source File: twcgi.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 4 votes |
def outReceived(self, output): """ Handle a chunk of input """ # First, make sure that the headers from the script are sorted # out (we'll want to do some parsing on these later.) if self.handling_headers: text = self.headertext + output headerEnds = [] for delimiter in '\n\n','\r\n\r\n','\r\r', '\n\r\n': headerend = text.find(delimiter) if headerend != -1: headerEnds.append((headerend, delimiter)) if headerEnds: # The script is entirely in control of response headers; disable the # default Content-Type value normally provided by # twisted.web.server.Request. self.request.defaultContentType = None headerEnds.sort() headerend, delimiter = headerEnds[0] self.headertext = text[:headerend] # This is a final version of the header text. linebreak = delimiter[:len(delimiter)//2] headers = self.headertext.split(linebreak) for header in headers: br = header.find(': ') if br == -1: log.msg( format='ignoring malformed CGI header: %(header)r', header=header) else: headerName = header[:br].lower() headerText = header[br+2:] if headerName == 'location': self.request.setResponseCode(http.FOUND) if headerName == 'status': try: statusNum = int(headerText[:3]) #"XXX <description>" sometimes happens. except: log.msg( "malformed status header" ) else: self.request.setResponseCode(statusNum) else: # Don't allow the application to control these required headers. if headerName.lower() not in ('server', 'date'): self.request.responseHeaders.addRawHeader(headerName, headerText) output = text[headerend+len(delimiter):] self.handling_headers = 0 if self.handling_headers: self.headertext = text if not self.handling_headers: self.request.write(output)
Example #4
Source File: twcgi.py From learn_python3_spider with MIT License | 4 votes |
def outReceived(self, output): """ Handle a chunk of input """ # First, make sure that the headers from the script are sorted # out (we'll want to do some parsing on these later.) if self.handling_headers: text = self.headertext + output headerEnds = [] for delimiter in b'\n\n', b'\r\n\r\n', b'\r\r', b'\n\r\n': headerend = text.find(delimiter) if headerend != -1: headerEnds.append((headerend, delimiter)) if headerEnds: # The script is entirely in control of response headers; # disable the default Content-Type value normally provided by # twisted.web.server.Request. self.request.defaultContentType = None headerEnds.sort() headerend, delimiter = headerEnds[0] self.headertext = text[:headerend] # This is a final version of the header text. linebreak = delimiter[:len(delimiter)//2] headers = self.headertext.split(linebreak) for header in headers: br = header.find(b': ') if br == -1: self._log.error( 'ignoring malformed CGI header: {header!r}', header=header) else: headerName = header[:br].lower() headerText = header[br+2:] if headerName == b'location': self.request.setResponseCode(http.FOUND) if headerName == b'status': try: # "XXX <description>" sometimes happens. statusNum = int(headerText[:3]) except: self._log.error("malformed status header") else: self.request.setResponseCode(statusNum) else: # Don't allow the application to control # these required headers. if headerName.lower() not in (b'server', b'date'): self.request.responseHeaders.addRawHeader( headerName, headerText) output = text[headerend+len(delimiter):] self.handling_headers = 0 if self.handling_headers: self.headertext = text if not self.handling_headers: self.request.write(output)
Example #5
Source File: twcgi.py From python-for-android with Apache License 2.0 | 4 votes |
def outReceived(self, output): """ Handle a chunk of input """ # First, make sure that the headers from the script are sorted # out (we'll want to do some parsing on these later.) if self.handling_headers: text = self.headertext + output headerEnds = [] for delimiter in '\n\n','\r\n\r\n','\r\r', '\n\r\n': headerend = string.find(text,delimiter) if headerend != -1: headerEnds.append((headerend, delimiter)) if headerEnds: headerEnds.sort() headerend, delimiter = headerEnds[0] self.headertext = text[:headerend] # This is a final version of the header text. linebreak = delimiter[:len(delimiter)/2] headers = string.split(self.headertext, linebreak) for header in headers: br = string.find(header,': ') if br == -1: log.msg( 'ignoring malformed CGI header: %s' % header ) else: headerName = string.lower(header[:br]) headerText = header[br+2:] if headerName == 'location': self.request.setResponseCode(http.FOUND) if headerName == 'status': try: statusNum = int(headerText[:3]) #"XXX <description>" sometimes happens. except: log.msg( "malformed status header" ) else: self.request.setResponseCode(statusNum) else: # Don't allow the application to control these required headers. if headerName.lower() not in ('server', 'date'): self.request.responseHeaders.addRawHeader(headerName, headerText) output = text[headerend+len(delimiter):] self.handling_headers = 0 if self.handling_headers: self.headertext = text if not self.handling_headers: self.request.write(output)
Example #6
Source File: twcgi.py From BitTorrent with GNU General Public License v3.0 | 4 votes |
def outReceived(self, output): """ Handle a chunk of input """ # First, make sure that the headers from the script are sorted # out (we'll want to do some parsing on these later.) if self.handling_headers: text = self.headertext + output headerEnds = [] for delimiter in '\n\n','\r\n\r\n','\r\r', '\n\r\n': headerend = string.find(text,delimiter) if headerend != -1: headerEnds.append((headerend, delimiter)) if headerEnds: headerEnds.sort() headerend, delimiter = headerEnds[0] self.headertext = text[:headerend] # This is a final version of the header text. linebreak = delimiter[:len(delimiter)/2] headers = string.split(self.headertext, linebreak) for header in headers: br = string.find(header,': ') if br == -1: log.msg( 'ignoring malformed CGI header: %s' % header ) else: headerName = string.lower(header[:br]) headerText = header[br+2:] if headerName == 'location': self.request.setResponseCode(http.FOUND) if headerName == 'status': try: statusNum = int(headerText[:3]) #"XXX <description>" sometimes happens. except: log.msg( "malformed status header" ) else: self.request.setResponseCode(statusNum) else: self.request.setHeader(headerName,headerText) output = text[headerend+len(delimiter):] self.handling_headers = 0 if self.handling_headers: self.headertext = text if not self.handling_headers: self.request.write(output)