HTTP GetRequest workflow
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 20/100
- Tipo de issue
- Refactorización
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- csharp
- Área
- api, networking
Línea de trabajo
Empieza revisando los dos workflows descritos en torno a BH.Engine.HTTP.Compute.GetRequest(url), GetRequest y HTTPAdapter. Compara los enfoques propuestos Adapter/Pull, adaptador implícito y Execute, incluido el punto de entrada propuesto BH.Adapter.HTTP.PullRequest(url) y las implicaciones para la UI. La tarea se consideraría terminada cuando se hayan acordado un workflow y una terminología antes de poder definir el alcance de la implementación.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Have been playing with the OpenStreetMap_Toolkit leveraging the HTTP_Toolkit 😍 😍 😍
(@rolyhudson)
Did lead to some thoughts around potentially consolidating the http requests to more clearly align with other areas of the BHoM. A few notes for comment - @epignatelli @alelom picking up from our chat earlier. Low priority and great to enable these experiments as some thinking needed I think to create a satisfactorily slick, consistent and clear work flow.
There are currently two implementations of HTTP requests -
- following the Adapter/Pull work flow
Feeding aGetRequestinto a Pull with also aHTTPAdapter - A simpler workflow mirroring the expression of a single http request string. Through
BH.Engine.HTTP.Compute.GetRequest(url)which directly returns thestringresponse
The 2. above is neat - but needs to move out of Engine Compute as is externally interfacing.
The challenge we have is that a traditionally formatted http request contains the domain (i.e. source or adapter in BHoM terms) actually embedded in line with the request itself.
Our standard adapter Pull and Push workflows have naturally separated these concepts out.
Useful to align terminology and concepts where we can - but also be intuitive and respect conventions of the software/platforms we are adapting to.
The main comment I discussed with @epignatelli was to ensure clarity that a link (or adapter) with the outside world to BHoM is still being made. Even if not a standard Adapter -> Pull
So few options:
a)
This has redundant information for http as described above.

b)
Could separate out domain and rest of request arguments for the http string - but I think this is unintuitive if already familiar with performing http requests. Others opinions here are welcome - but feels we are forcing too hard into BHoM format!?

c)
Could allow not specifying adapter - where is implicit from the request?

d)
Could then enable implicit casting of correctly such that work flow might allow

e)
An option that might make sense is to achieve very close to the original BH.Engine.HTTP.Compute.GetRequest(url) , respecting the current exception of http, but migrating it to an Adapter NameSpace such that we could have something like BH.Adpater.HTTP.PullRequest(url).

This would not currently reflect into UI - so considerations needed there.
f)
Another final option would be that we do this as an extension of the Execute...

With this option I think we come close to some of the ideas we had before, where we considered implementing Executes with the actual Adapter not needing to be explicitly defined as additional input - being implicit in the Method you were executing.
This came up originally from discussions about executing external Python scripts etc.
Wonder if this might be a way forward?
Sorry for long notes - wanted to capture thoughts and discussions.
Perhaps one to pick up over a call?
@epignatelli @alelom @adecler @rolyhudson
- Lenguaje dominante
- C#
- Estrellas
- 2
- Forks
- 1
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de BHoM/HTTP_Toolkit
-
type:feature
BHoM/HTTP_Toolkit#134 · 1 comentario · 1 asignado ·
-
type:compliance
BHoM/HTTP_Toolkit#123 · 1 asignado ·
-
type:bug
BHoM/HTTP_Toolkit#72 · 1 asignado ·
-
type:feature
BHoM/HTTP_Toolkit#52 · 1 comentario · 2 asignados ·
-
The number of responses resulting in the Pull is not of the expected length when using BatchRequest Abiertotype:bug
BHoM/HTTP_Toolkit#13 · 2 comentarios · 1 asignado ·
Todos los issues de BHoM/HTTP_Toolkit
Issues similares
-
CS0162 "Unreachable code detected" warning from a MSBuildTemp .tmp file in every game project Abiertobug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
-
Type: enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
apache/arrow-adbc#4809 ·
-
type/automation type/tech-debt
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
microsoft/vscode-azurefunctions#5197 · 1 comentario ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
microsoft/microsoft-ui-reactor#1274 ·