diff --git a/gitlab/__init__.py b/gitlab/__init__.py index c9716c282..5cd56b5a3 100644 --- a/gitlab/__init__.py +++ b/gitlab/__init__.py @@ -23,6 +23,7 @@ import warnings import requests +from requests_toolbelt.multipart.encoder import MultipartEncoder import gitlab.config from gitlab.const import * # noqa @@ -500,9 +501,12 @@ def http_request( # We need to deal with json vs. data when uploading files if files: - data = post_data + my_data = post_data json = None - del opts["headers"]["Content-type"] + my_data["file"] = files["file"] + files = None + data = MultipartEncoder(my_data) + opts["headers"]["Content-type"] = data.content_type else: json = post_data data = None diff --git a/gitlab/v4/objects.py b/gitlab/v4/objects.py index 1750a3641..a8794311d 100644 --- a/gitlab/v4/objects.py +++ b/gitlab/v4/objects.py @@ -4792,8 +4792,8 @@ def import_project( Returns: dict: A representation of the import status. """ - files = {"file": ("file.tar.gz", file)} - data = {"path": path, "overwrite": overwrite} + files = {"file": ("file.tar.gz", file, 'application/octet-stream')} + data = {"path": path, "overwrite": str(overwrite)} if override_params: for k, v in override_params.items(): data["override_params[%s]" % k] = v diff --git a/requirements.txt b/requirements.txt index d5c2bc9c6..d2b6a0fb5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,2 @@ requests>=2.22.0 +requests-toolbelt>=0.9.1 diff --git a/setup.py b/setup.py index 6b5737300..3ef170d03 100644 --- a/setup.py +++ b/setup.py @@ -25,7 +25,7 @@ def get_version(): license="LGPLv3", url="https://github.com/python-gitlab/python-gitlab", packages=find_packages(), - install_requires=["requests>=2.22.0"], + install_requires=["requests>=2.22.0", "requests-toolbelt>=0.9.1"], python_requires=">=3.6.0", entry_points={"console_scripts": ["gitlab = gitlab.cli:main"]}, classifiers=[ pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy