From 0e7000fe657eb0c8f24efa4524e135780d0f1bcc Mon Sep 17 00:00:00 2001
From: SergBobrovsky <SergBobrovsky@users.noreply.github.com>
Date: Tue, 5 Jan 2021 10:57:05 +0300
Subject: [PATCH] refactor Bottle._cast()

Standart method faster then lambda
---
 bottle.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/bottle.py b/bottle.py
index 23fff762..7db395ae 100755
--- a/bottle.py
+++ b/bottle.py
@@ -1090,10 +1090,10 @@ def _cast(self, out, peek=None):
         if isinstance(first, HTTPResponse):
             return self._cast(first)
         elif isinstance(first, bytes):
-            new_iter = itertools.chain([first], iout)
+            new_iter = itertools.chain((first,), iout)
         elif isinstance(first, unicode):
-            encoder = lambda x: x.encode(response.charset)
-            new_iter = imap(encoder, itertools.chain([first], iout))
+            new_iter = map(str.encode, itertools.chain((first,), iout),
+                           itertools.repeat(response.charset))
         else:
             msg = 'Unsupported response type: %s' % type(first)
             return self._cast(HTTPError(500, msg))