CharlesO
Simulating browser-like file upload with Tesla
Please how may we upload a file as described below with Tesla?
For a self-signed certificate an extra parameter is needed,
certificate, with the public certificate in PEM format as data.
- A curl example for a self-signed certificate:
curl -F "url=https://<YOURDOMAIN.EXAMPLE>/<WEBHOOKLOCATION>" -F "certificate=@<YOURCERTIFICATE>.pem" https://api.telegram.org/bot<YOURTOKEN>/setWebhookThe
-Fmeans we’re using themultipart/form-data-type to supply the certificate
(Marvin's Marvellous Guide to All Things Webhook)
I have tried:
mp = Multipart.new()
|> Multipart.add_field("url", "https://my-sever-ip:88/bots/#{token}")
|> Multipart.add_field("certificate", "bots.pem")
|> Multipart.add_file(file, name: "bots.pem")
post("bot#{token}/setwebhook", mp)
But the operation is not successful.
Please how may I achieve the same as this : https://paperlesssolutionsltd.com.ng/bots.htm manual file upload utility using Tesla.
Thanks.
Marked As Solved
NobbZ
This curl should translate into this tesla request (I’ll take your placeholders literally):
body =
Tesla.MultiPart.new
|> MultiPart.add_field("url", "https://<YOURDOMAIN.EXAMPLE>/<WEBHOOKLOCATION>")
|> MultiPart.add_file("<YOURCERTIFICATE>.pem", name: :certificate, filename: "<YOURCERTIFICATE>.pem") # but `:filename` actually defaults to this…
Tesla.post("https://api.telegram.org/bot<YOURTOKEN>/setWebhook", body)
2
Also Liked
CharlesO
It works now.
Tesla actually works fine.
setting these two affects the post method, should have used Tesla.post instead
plug(Tesla.Middleware.Headers, [{"content-type", "application/json"}])
plug(Tesla.Middleware.BaseUrl, "https://api.telegram.org/")
body =
Multipart.new()
|> Multipart.add_field("max_connections", "100")
|> Multipart.add_field("url", "https://173.233.70.70:#{port}/bots/#{token}")
|> Multipart.add_file(file, name: :certificate, filename: name)
x = Tesla.post("https://api.telegram.org/bot#{token}/setWebhook", body)
Thanks
2
Popular in Questions
What is the proper way to load a module from a file in to IEX?
In the python world, doing something like this pretty standard:
from ....
New
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New
I’m hoping you guys can give me some general advice and perhaps code examples if you’re feeling up to it.
I’m very interested in Elixir,...
New
This should be a simple problem but I just can’t seem to figure it out. I have a standalone Elixir app that won’t find the database.
Dep...
New
Hi, I’m using Ubuntu 18.04 and after updating to OTP-24.0 yesterday i have this warning when I run “mix local.hex”:
14:57:30.512 [warn] ...
New
As a follow up to my earlier question:
I have the code compiling and running but not getting a successful login from the rest server. ...
New
I have a User schema with a :from_id field set to type :string:
defmodule TweetBot.Repo.Migrations.CreateUsers do
use Ecto.Migration
...
New
I’m currently trying to understand how to join three tables using Ecto. All the examples I’ve seen use 2, so maybe I’m just missing somet...
New
Hi guys, nice to meet you to the whole forum, I’m new here, I’m trying to configure visual studio code for elixir, right now the intellis...
New
I am trying to run a deploy with docker and I successfully runned with this command:
docker build -t romenigld/blog-prod .
but when I t...
New
Other popular topics
Hello!
tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability.
After spen...
New
How to handle excepions in elixir? Suppose i have A, B, C ,D, E modules. and each module has get() function. A.get() method will call th...
New
What is the idiomatic way of matching for not nil in Elixir?
E.g.,
First way:
defp halt_if_not_signed_in(conn, signed_in_account) when...
New
I am VERY much an elixir newbie. I have taken one elixir course and one phoenix course on Udemy. During that course, I saw the instructor...
New
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
New
None of the current solutions worked well for me, so I went ahead and built a user management system from scratch.
This project took far...
New
I have a User schema with a :from_id field set to type :string:
defmodule TweetBot.Repo.Migrations.CreateUsers do
use Ecto.Migration
...
New
Hi everyone,
One of the features added to Elixir early on to help integration with Erlang code was the idea of overridable function defi...
New
I have a super simple question about elixir - how would I take a file like this
foo bar baz
and output a new file that enumerates th...
New
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors:
[WARN] - (starship::utils): Executing command ...
New







