vicusbass@vasile ~$ portfolio
--:--:--
~/menu
press ESC to close_
/blog //

~/requests1

$ ls /blog
~/Mail/inbox/requests1.eml ← back to inbox
From:vasile@vicusbass To:subscribers@list.vicusbass Date:Apr 2019 Subject:You say REST, I think 'requests' Tags: Python, REST, Automation

You say REST, I think 'requests'

REST upload endpoints made easy with Python

When testing REST upload endpoints in the past, I often had to make numerous tweaks to combine file upload as multipart with certain tags. However, as a Python enthusiast nowadays, I can’t help but smile when I see how easy it is to accomplish this using the requests library.

Let’s consider a scenario where you need to perform a POST request for uploading a CSV file, and inform the backend about the specific name associated with this resource. I believe the following code is self-explanatory.

def upload_csv_data(self, resource_name, *csv_lines):
    lines = "\n".join(csv_lines)
    files = {"file": ("report.csv", lines)}
    payload = {
        "resource_name": resource_name,
    }
    return requests.post(self.UPLOAD_CSV_URL, files=files, data=payload)

Have you seen the code where I create a CSV file? There is none, no need for testing purposes, with dearest requests library.

— vasile