プロジェクト

全般

プロフィール

Defect #423

完了

URLの最後に/があるとNG?

Haru Iida さんがほぼ14年前に追加. ほぼ14年前に更新.

ステータス:
終了(Closed)
優先度:
通常(Normal)
担当者:
-
カテゴリ:
RedmineREST-API
対象バージョン:
開始日:
2010/06/05
期日:
進捗率:

100%

予定工数:

説明

ローカルでテストしたところRedmine URLが

http://localhost:3000

の場合は上手くチケット情報を取れますが

http://localhost:3000/

と最後に/が付いているとチケット情報を取得できませんでした。

Redmine側には以下のようなエラーがログに出力されていました。

[2010-06-05 16:21:19] ERROR bad URI `//issues.xml?assigned_to_id=me&key=19875f6e84d3f50d8078fa2b3ef4ff5d1cd2515b'.

関連するチケット 1 (0件未完了1件完了)

関連している RedmineAir - Feature #457: URLのValidation終了(Closed)Akiko Takano2010/06/22

操作

yusuke kokubo さんがほぼ14年前に更新

入力されたURLに単純に/issues.xmlをつけてるので、もともとのURLに/がついてると
/が2つあるのでas3の標準ライブラリ的にエラーになるみたいですね。
修正するのは末尾に/がついてたら削除すればよいかと思いますが、そんな単純でよいかと思うとちょっと心配。

Akiko Takano さんがほぼ14年前に更新

さきほど私も確認しました。
ただし、localhostでのテストです。
ActionScriptの問題ではないようで、Redmine(Rails)側が、/projects と //projects を別物として処理しています。
(/コントローラ/アクション/...というお約束なので)
IEとかFirefoxで直接上記のURLを叩くとStatus Code 400で、同じエラーになりますね。

サーバ側がApacheやmongrelとかでプロキシしてある場合はどうなるか、試してみないといけないですけれど、おそらく "//" は "/"に変換するといいんじゃないでしょうか。

あと、下記は実行時のデバッグのメッセージです。

Error #2044: Unhandled ioError:. text=Error #2032: Stream Error. URL: http://localhost:3000//issues.xml?watcher_id=me&key=6a7fbc787585340b45a75ef7f403f263d5baa908
    at redmineair/load()
    at redmineair/___redmineair_Button2_click()

yusuke kokubo さんがほぼ14年前に更新

  • カテゴリRedmineREST-API にセット
  • 対象バージョン0.0.1 にセット

ActionScriptの問題ではないようで、Redmine(Rails)側が、/projects と //projects を別物として処理しています。

Redmine側の問題なんですね。

サーバ側がApacheやmongrelとかでプロキシしてある場合はどうなるか、試してみないといけないですけれど、おそらく "//" は "/"に変換するといいんじゃないでしょうか。

その方法がシンプルで良いかも。
間違える人も多そうなので早めに直した方が良いですね。

Akiko Takano さんがほぼ14年前に更新

可能なら、URLとして入力した文字列のValidationがあるといいかも。
package com.redmineAir.util 以下に、データの加工やvaludation用のクラスがあると良いかなと思っています。

Akiko Takano さんがほぼ14年前に更新

  • ステータス新規(New) から 担当(Assigned) に変更
  • 進捗率0 から 80 に変更

rev. 31で対応してみました。
もうちょっと綺麗なやり方があると思いますが...。

Akiko Takano さんがほぼ14年前に更新

  • ステータス担当(Assigned) から 終了(Closed) に変更
  • 進捗率80 から 100 に変更

#457 と合わせて、終了とします。

他の形式にエクスポート: Atom PDF