2011-10-26 8 views
0

私のハンドラコードでは、認証を行うためにユーザエージェントのリダイレクトを行うために必要なopenidヘッダ/ bodyを使ってリダイレクト応答を返そうとしていますが、HTTPEntityを返すレスポンスをOperation結果に設定すると、クライアント?それは何が間違っていますか?次のコードは完全ではなく、プロトタイプの品質です!ここで返信応答としてOpenRasta HTTPEntityを使用している場合は406を取得しますか?

は私のハンドラのコードです:

private static OpenIdRelyingParty openid = new OpenIdRelyingParty(); 
public OperationResult Get(string contentId) 
{ 
    var response = openid.GetResponse(); 
    Identifier id; 
    Identifier.TryParse("https://www.google.com/accounts/o8/id", out id); 
    OutgoingWebResponse owr = openid.CreateRequest(id).RedirectingResponse; 

    HttpEntity he = new HttpEntity(new HttpHeaderDictionary(owr.Headers), owr.ResponseStream); 

    return new OperationResult.SeeOther { ResponseResource = he }; 

} 

答えて

1

それが動作しないように私たちは、現時点では戻り値の型としてIMessageが/ IHttpEntity/IResponseをサポートしていません(ただし、それがなかったならば、それは素晴らしいことです、それはおそらくすべきである)。

今問題は、IRequest/IResponse(および関連するエンティティ本体)がホスティング環境によって制御されることです。

私がカスタムコーデックを作成し、それをIHttpEntity(ResourceSpace.Has.ResourcesOfType()。WithoutUri.TranscodedBy())に登録し、そのコーデックを使用してヘッダーと既存のIResponse上の身体、5 LOCを取る必要があります。

https://github.com/openrasta/openrasta-core/issues/33にバグを開いて、これをコアに移動できます。

+0

ありがとうございますserialseb、私は1つの例外と応答を読んだヘッダーがヘッダーを設定することができませんでしたので、それを行う方法は何ですか? – Overture

+0

これはホスティングですか? – SerialSeb

関連する問題