Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

HTTP GetRequest workflow

オープン
#20 コメント 5 件 リアクション 1 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
20/100
issue の種類
リファクタリング
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
csharp
領域
api, networking

調査の方向性

まず、BH.Engine.HTTP.Compute.GetRequest(url)、GetRequest、HTTPAdapter 周辺で説明されている2つのワークフローを確認します。提案されている Adapter/Pull、implicit-adapter、Execute の各アプローチを比較し、提案されているエントリーポイント BH.Adapter.HTTP.PullRequest(url) と UI への影響も含めます。実装のスコープを決める前に、合意されたワークフローと用語が必要です。

索引モデルが issue の本文から書いたものです。

説明

severity:low type:compliance type:question

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 -

  1. following the Adapter/Pull work flow
    Feeding a GetRequest into a Pull with also a HTTPAdapter
  2. A simpler workflow mirroring the expression of a single http request string. Through
    BH.Engine.HTTP.Compute.GetRequest(url) which directly returns the string response

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.
image

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!?
image

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

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

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).
image
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...

image

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

主要言語
C#
スター
2
フォーク
1
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

BHoM/HTTP_Toolkit のほかの issue

BHoM/HTTP_Toolkit の issue をすべて見る

似ている issue

C# の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。