diff --git a/tornadoasyncmemcache.py b/tornadoasyncmemcache.py index 62c1ec9..64cadce 100644 --- a/tornadoasyncmemcache.py +++ b/tornadoasyncmemcache.py @@ -294,6 +294,9 @@ def _set(self, cmd, key, val, expire, callback, cas=None): # does. Ideally we should be raising an exception here. val = six.text_type(val).encode('ascii') + if not isinstance(val, six.binary_type): + data = six.text_type(data).encode('ascii') + extra = '' if cas is not None: extra += ' ' + cas @@ -301,7 +304,7 @@ def _set(self, cmd, key, val, expire, callback, cas=None): fullcmd = (cmd + b' ' + key + b' ' + six.text_type(flags).encode('ascii') + b' ' + six.text_type(expire).encode('ascii') + b' ' + six.text_type(len(val)).encode('ascii') + extra + - b'\r\n' + six.text_type(val).encode('ascii')) + b'\r\n' + val) response = server.send_cmd(fullcmd, callback=partial( self._set_send_cb, server=server, callback=callback))