charliekelly

charliekelly

When making HTTP requests inside a test using HTTPotion such as HTTPotion.get("https://google.com") I get the following error message as response: {:error, %{code: 500, message: "enetunreach"}} I have tried the same request using Postman and it works OK.

Showing Posts 1 to 6

OvermindDL1

OvermindDL1

That sounds like it can’t reach the internet, though error 500 for that seems odd.

NobbZ

NobbZ

HTTPotion.get/2 shouldn’t even return an :error tuple, according to its spec…

It returns a HTTPotion.http_result/0.

So could you please show the full code that produces this result?


edit Skimming httpotions code I also can’t find a codepath that would generate a tuple of any kind… All requests end with calling into this function:

https://github.com/myfreeweb/httpotion/blob/master/lib/httpotion.ex#L287-L312

charliekelly

charliekelly OP

Yes, the actual HTTPotion response is %HTTPotion.ErrorResponse{message: "enetunreach"}

NobbZ

NobbZ

So why obfuscate the error? That has only lead to additional confusion. I can’t see a 500 anymore in the “real” return.

Also HTTPotion.ErrorResponsees will only be returned when no connection to the remote host could be made. enetunreach hereby means that no route to the target network exists.

So your host is able to resolve the name google.com to an IP, but then can’t find a route to the network this IP is in.

So ,y assumption is, that you are either firewalled or proxied or both, and you forgot to set up the proxy or did not allow internet access for your application in your firewall or…

charliekelly

charliekelly OP

I disabled my firewall temporarily to see if that was the problem, it was not. The weird thing is, my requests work fine on Postman.

NobbZ

NobbZ

This still does not answer the question if you live behind a proxy. You do not necessarily need to know about it. Some providers, especially those using mobile networks, are very good at hiding proxies. Also some corporate networks do some hidden proxiing.

But this is basically it… From what we are able to see it is a network issue and has to be debugged as such. Try sniffing using wireshark or tcpdump and compare sent requests. perhaps you see some significant difference?

— All posts loaded —

Where Next? Top

Trending in Questions Top

water
I’m aware of 2 such projects, are there others? git: GitHub - team-alembic/realworld: A fullstack Phoenix LiveView application with back...
New
katta
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
peck
Hi everyone. My team and I have been working on a fairly modest app based around video streaming and chat, but we’ve landed a customer t...
New
bradley
I really like the adapter patterns that ecto, nebulex, waffle, etc. use and would love find something similar for a key management servic...
New
unaware8150
Hello folks! So at work, we are seeing some situations where we have to define some “fixed” strings that are used across the codebase in...
New
Alvinkariuki
How Can I Optimise Compile Time Dependencies I have been building an elixir application for about 2 years now. Many modules and files ha...
New
leoschweizer
Hi, we run different LLM models across a cluster, with each node loading a configurable subset. Model-specific queues let nodes consume ...
New

Other Trending Topics Top

KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
mudasobwa
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
juhalehtonen
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
budgie
I love Elixir. It’s one of 2 programming languages I’ve ever fallen in love with. But I don’t use it anymore. Serverless was the promis...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews