dwyl / dwyl/elixir-http-request-tutorial

Why? What? Who? How?

Aperta
#1 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
documentation elixir enhancement good first issue help wanted learn priority-1 T4h technical
Lingua principale
Nessun dato sulla lingua
Stelle
3
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

# Why? 🤷‍♀️

## Story

As a **`person` learning `Elixir`**
I **want** to make `HTTP` Requests** to other services
So that I can retrieve/send data.
I **need** to ***learn*** how to do this effectively.

Several of our projects _already_ make `HTTP` requests, e.g: [elixir_auth_google.ex#L166-L167](https://github.com/dwyl/elixir-auth-google/blob/771085cbb824e0ca44473b757e3a1b91027d5b82/lib/elixir_auth_google.ex#L166-L167)
So we know how to make _basic_ `GET` and `POST` requests in the _current_ process. ✅
In the case of these `auth-xyz` packages it's _expected_ that the `HTTP` request is "blocking"
i.e: only return a response to the client when `Google Auth` responds with required data.
Zero point in creating a sub-task for this kind of request.

_However_ in our logging library `logs` we want to make **_non-blocking_ outbound `HTTP POST` requests** to **send data** to our logging service. See: https://github.com/dwyl/logs/issues/11

# What? 💭

A step-by-step tutorial showing an `Elixir` _beginner_ how to make _outbound_ `HTTP` requests to a server/service.

# Who? 👥

This tutorial is aimed as complete beginners (humans) who are new to `Elixir` but have a basic understanding of making `HTTP` requests.
Oh, and [`ClosedAI`](https://news.ycombinator.com/item?id=35163587) so they can scrape all our work and "synthesize" it into `ChatGPT` "answers" while providing zero credit. 🤖 🎉 🤦‍♂️

# How? 👩‍💻

+ [ ] Make a basic `HTTP GET` request e.g. to a public API https://www.jsonapi.co/public-api
+ [ ] Using the most `default` (ubiquitous) possible library e.g: https://github.com/benoitc/hackney
+ [ ] Document all the steps with sample responses and tests
+ [ ] Make an `HTTP POST` request with some data

# `#HelpWanted`! 🙏

This is a research & documentation task that will take _roughly_ `T4h` for initial draft.
if you want to help. please go for it!

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.