Skip to content

Commit

Permalink
Removing guess encodinng method.
Browse files Browse the repository at this point in the history
  • Loading branch information
iogf committed Dec 4, 2020
1 parent ca94e74 commit cc666bb
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 21 deletions.
1 change: 0 additions & 1 deletion requirements.txt
@@ -1,5 +1,4 @@
untwisted==3.2.2
chardet



Expand Down
47 changes: 39 additions & 8 deletions tests.py
Expand Up @@ -57,29 +57,60 @@ def handle_done(self, request, response):
def test_get(self):
core.gear.mainloop()

class TestGet3(unittest.TestCase):
class TestPost0(unittest.TestCase):
def setUp(self):
self.url = 'https://httpbin.org/redirect{3}'
self.url = 'https://httpbin.org/post'
self.args = {'key0': 'value0', 'key1': 'value2'}

# Send a token auth.
auth = TokenAuth('fooobar')
self.request = Get(self.url, auth=auth)
self.request.add_map(ResponseHandle.RESPONSE, self.handle_done)
self.request = Post(self.url, args=self.args)
self.request.add_map(ResponseHandle.DONE, self.handle_done)

def handle_done(self, request, response):
response_data = response.content()
response_data = json.loads(response.content())

print(response.code)
self.assertTrue(response_data['args'], self.args)
die()

def test_get(self):
core.gear.mainloop()

class TestPost1(unittest.TestCase):
def setUp(self):
self.url = 'https://httpbin.org/post'
self.data = {'key0': 'value0', 'key1': 'value2'}

self.request = Post(self.url, payload=FormData(self.data))
self.request.add_map(ResponseHandle.DONE, self.handle_done)

def handle_done(self, request, response):
response_data = json.loads(response.content())

self.assertTrue(response_data['form'], self.data)
die()

def test_get(self):
core.gear.mainloop()

class TestPost2(unittest.TestCase):
def setUp(self):
self.url = 'https://httpbin.org/post'
self.data = {'key0': 'value0', 'key1': 'value2'}
self.args = {'key0': 'value0', 'key1': 'value2'}

self.request = Post(self.url, args=self.args, payload=FormData(self.data))
self.request.add_map(ResponseHandle.DONE, self.handle_done)

def handle_done(self, request, response):
response_data = json.loads(response.content())

self.assertTrue(response_data['form'], self.data)
self.assertTrue(response_data['args'], self.args)

url = '%s?%s' % (self.url, urlencode(self.args))
self.assertTrue(response_data['url'], url)

die()

def test_get(self):
core.gear.mainloop()

19 changes: 7 additions & 12 deletions websnake.py
Expand Up @@ -12,7 +12,6 @@
from untwisted.core import die
from re import split
from untwisted import core
import chardet
import json

default_headers = {
Expand Down Expand Up @@ -149,25 +148,21 @@ def __init__(self, data):

def content(self):
data = self.fd.read()
# self.fd.close()
self.fd.seek(0)

encoding = self.header_encoding()
if encoding is None:
encoding = self.guess_encoding(data)
return data

if encoding:
try:
return data.decode(encoding)
return data
except UnicodeDecodeError as e:
return data

def header_encoding(self):
ctype = self.headers.get('content-type')
if ctype is not None:
parse_header(ctype)[1].get('charset')

def guess_encoding(self, data):
return chardet.detect(data)['encoding']

def releasefd(self):
self.fd.close()
return parse_header(ctype)[1].get('charset')

class RequestData:
pass
Expand Down

0 comments on commit cc666bb

Please sign in to comment.