D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
opt
/
alt
/
ruby20
/
lib64
/
ruby
/
gems
/
2.0.0
/
doc
/
rack-1.6.4
/
ri
/
Filename :
page-KNOWN-ISSUES.ri
back
Copy
U:RDoc::TopLevel[ i I"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::BlankLine o: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