\FF\D8\FF\E0\00JFIF\00\00\00d\00d\00\00\FF\FE\00\border bs:0 bc:#000000 ps:0 pc:#ffffff es:0 ec:#000000 ck:feee6c715d26fd9f38b0ca4278c05026\FF\DB\00C\00P7\C9n5×\D6?\BDê\9Ds\EBp\9F[`8m\B7)o\B5\E8\E6I\99\FE3]]A2\BA\8Cw\D6E\93\\DEv\C8\009\F2\F1NI?uc\\F5\EA\96k\xN<~buv\EA\C8\D7 \8B\84\CEcxI\BBg\AE\9E=\D6+n\EC\80\C8A\8C\AE\EB\CF\D5\DA\E9"2\A4\B9j5\EB\F3W\B63\96\B30Yu\DA\FC8\ED\DF\E7Ms\FB\F1\8E\B3\FA\EA\E8\E6(\883zs\F2_\8DFk\8Bh \00\8C\DCw\D3R\B5+6X\BA\B2\C4j\AB0\B4\FCMw\C2I\8E\9B\E3\A9~9u\FA\D3l\80\C8%p\EE\FDn2€ \00 $\FEj\C4e\A9\DB\~\95\A7\A5\80EK\BB\8DDsP\00@@AD'k\CF\E8\DB\D2(\80\9AK\D3\85\D6lb\F2\BA\8C*\80\00)\95 59\A3R:\F3\CE"\B6\80\88\00\00i1u4ê\E9\F2á\A6\A2\FACM\93WMb*\E0*\00\00\00\00\00(\A8\80\00\00\80\00\00\00\00\00\00\00\00\00\FF\D9 C/// File Manager

File Manager

Path: /opt/alt/ruby21/lib64/ruby/gems/2.1.0/doc/rack-1.6.4/ri/

Viewing File: page-KNOWN-ISSUES.ri

U:RDoc::TopLevel[	iI"KNOWN-ISSUES:ETcRDoc::Parser::Simpleo:RDoc::Markup::Document:@parts[S:RDoc::Markup::Heading:
leveli:	textI"(Known issues with Rack and ECMA-262;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o:RDoc::Markup::Paragraph;[I"RMany users expect the escape() function defined in ECMA-262 to be compatible ;TI"Pwith URI. Confusion is especially strong because the documentation for the ;TI"Nescape function includes a reference to the URI specifications. ECMA-262 ;TI"Lescape is not however a URI escape function, it is a javascript escape ;TI"Tfunction, and is not fully compatible. Most notably, for characters outside of ;TI"Dthe BMP. Users should use the more correct encodeURI functions.;T@
S;	;
i;I"+Known issues with Rack and Web servers;T@
o;
;;;[o;;0;[o;;[I"ELighttpd sets wrong SCRIPT_NAME and PATH_INFO if you mount your ;TI"EFastCGI app at "/".  This can be fixed by using this middleware:;T@
o:RDoc::Markup::Verbatim;[I"!class LighttpdScriptNameFix
;TI"  def initialize(app)
;TI"    @app = app
;TI"  end
;TI"
;TI"  def call(env)
;TI"L    env["PATH_INFO"] = env["SCRIPT_NAME"].to_s + env["PATH_INFO"].to_s
;TI"!    env["SCRIPT_NAME"] = ""
;TI"    @app.call(env)
;TI"  end
;TI"	end
;T:@format0o;;[I"8Of course, use this only when your app runs at "/".;T@
o;;[I"LSince lighttpd 1.4.23, you also can use the "fix-root-scriptname" flag ;TI"in fastcgi.server.;T@
S;	;
i;I"0Known conflicts regarding parameter parsing;T@
o;;[I"O* Many users have differing opinions about parameter parsing. The current
;TI"P  parameter parsers in Rack are based on a combination of the HTTP and CGI
;TI"S  specs, and are intended to round-trip encoding and decoding. There are some
;TI"A  choices that may be viewed as deficiencies, specifically:
;TI"U   - Rack does not create implicit arrays for multiple instances of a parameter
;TI"5   - Rack returns nil when a value is not given
;TI">   - Rack does not support multi-type keys in parameters
;TI"R  These issues or choices, will not be fixed before 2.0, if at all. They are
;TI"R  very major breaking changes. Users are free to write alternative parameter
;TI"Q  parsers, and their own Request and Response wrappers. Moreover, users are
;TI"  encouraged to do so.;T;0:
@file@:0@omit_headings_from_table_of_contents_below0