UnicodeDecodeError when creating Kinesis stream through Java SDK
request-parsing
Running the moto server through Docker:
```bash
docker run --rm -p 5000:5000 --name moto motoserver/moto:latest
```
And then attempting to create a Kinesis stream with the Java SDK (below is Scala code):
```scala
import java.net.URI
import software.amazon.awssdk.services.kinesis.KinesisClient
import software.amazon.awssdk.services.kinesis.model.CreateStreamRequest
KinesisClient.builder()
.endpointOverride(URI.create("http://localhost:5000"))
.build()
.createStream(CreateStreamRequest.builder().streamName("test").build())
```
Results in an error in the Docker container logs:
```
Error on request:
Traceback (most recent call last):
File "/usr/local/lib/python3.13/site-packages/werkzeug/serving.py", line 370, in run_wsgi
execute(self.server.app)
~~~~~~~^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/werkzeug/serving.py", line 331, in execute
application_iter = app(environ, start_response)
File "/moto/moto/moto_server/werkzeug_app.py", line 268, in __call__
return backend_app(environ, start_response)
File "/usr/local/lib/python3.13/site-packages/flask/app.py", line 1536, in __call__
return self.wsgi_app(environ, start_response)
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/flask/app.py", line 1514, in wsgi_app
response = self.handle_exception(e)
File "/usr/local/lib/python3.13/site-packages/flask_cors/extension.py", line 176, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
~^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib/python3.13/site-packages/flask_cors/extension.py", line 176, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
~^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/moto/moto/core/utils.py", line 123, in __call__
result = self.callback(request, request.url, dict(request.headers))
File "/moto/moto/core/responses.py", line 283, in dispatch
return cls()._dispatch(*args, **kwargs)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/moto/moto/core/responses.py", line 458, in _dispatch
self.setup_class(request, full_url, headers)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/moto/moto/core/responses.py", line 344, in setup_class
self.body = self.body.decode("utf-8")
~~~~~~~~~~~~~~~~^^^^^^^^^
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbf in position 0: invalid start byte
```
关闭于 2026-03-26 2 条评论