2

Access-Control-Allow-OriginRack 互換アプリケーションで複数のヘッダーを設定するにはどうすればよいですか。

仕様では[status, headers, body]、結果として配列を返す必要があるとされています。ヘッダーはヘッダーのハッシュです:)。したがって、同じヘッダーを 2 回設定することはできません。

headers = {}
headers["Access-Control-Allow-Origin"] = "http://my.domain1.com"
headers["Access-Control-Allow-Origin"] = "http://my.domain2.com"

うまくいきません。

私の場合はどうすればいいですか?2 つの同一のヘッダーを送信するにはどうすればよいですか?

4

2 に答える 2

1

配列のハッシュを使用することは非常に一般的です。

headers = {
  "Access-Control-Allow-Origin" => %w[
    http://my.domain1.com
    http://my.domain2.com
  ]
}

そうあるべきだと推測している{ "Access-Control-Allow-Origin" => [ 'a', 'b' ] * "\n" }

RFCを見ると、関連する部分は「5.1 Access-Control-Allow-Origin Response Header」であり、次を指しています。

The Origin header field has the following syntax:

origin              = "Origin:" OWS origin-list-or-null OWS
origin-list-or-null = %x6E %x75 %x6C %x6C / origin-list
origin-list         = serialized-origin *( SP serialized-origin )
serialized-origin   = scheme "://" host [ ":" port ]
                    ; <scheme>, <host>, <port> from RFC 3986

だから、試してみてください:

[ 'a', 'b' ] * ";"

または、初心者の場合

%w[a b].join(';')
于 2013-07-08T14:25:25.170 に答える