Dart (Flutter) の dio ライブラリは HTTPヘッダーをすべて小文字で送信する

(Comments)

Dart (Flutter) の dio ライブラリ

https://pub.dev/packages/dio

は、よく使われる http ライブラリと比べて、キャンセル、GETパラメータ、タイムアウト、JSON などが平易に扱えるため、使い勝手が良い。

ただ、Ver 3.x では、HTTP ヘッダーをすべて小文字にして送信するという問題がある。

つまり、

await Dio().get(
endpointUrl,
options: Options(
headers: {
'Authorization': 'xxxxxx'
}
),
);

とした場合、実際のヘッダは authorization: xxxxxx となる。

サーバによっては、ヘッダを認識してくれないかもしれない。

https://github.com/flutterchina/dio/issues/641

この Issue で議論されているが、実際 RFC では、ヘッダーの大文字小文字は区別なく扱わなければならない、とあるが、現実的にサーバサイドで区別されている場合もあるので、そのような用途だと難しいかもしれない。

ただ、現在プルリクのある V 4.0.0 では直るかもしれない。様子見。

https://github.com/flutterchina/dio/pull/1082

ちなみに、http ライブラリに切り替えて試して見た所、同じように ヘッダはすべて小文字化だった。

Currently unrated

Comments

Recent Tweets

  • ytyng

    ytyng @ytyng

    apple developer の、テスト用デバイスのUDIDを1年ごとにチェックして、古い端末を消しちゃうやつ チェックボックスを入れたのを残すのか、消すのかの判断まちがって、全部のUDID消えたわ
    9 months ago

  • ytyng

    ytyng @ytyng

    うちの会社 TORICO の 代表が今TV出てます #漫画全巻ドットコム #激レアさんを連れてきた
    9 months, 1 week ago

  • ytyng

    ytyng @ytyng

    Proofpoint にブロックされているIPアドレスからでも icloud など Apple メールアドレスにメール送信されてもブロックされてない…?
    10 months ago

Recent Posts

Archive

2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011

Categories

Authors

Feeds

RSS / Atom