Renamed CONNEG to content_negotiation.
Update MIME_PARSER to use HTTP_MEDIA_TYPE.
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
note
|
||||
description : "eMIME application root class"
|
||||
date : "$Date$"
|
||||
revision : "$Revision$"
|
||||
|
||||
class
|
||||
APPLICATION
|
||||
|
||||
inherit
|
||||
ARGUMENTS
|
||||
|
||||
create
|
||||
make
|
||||
|
||||
feature {NONE} -- Initialization
|
||||
|
||||
make
|
||||
local
|
||||
mime_parse : MIME_PARSE
|
||||
accept : STRING
|
||||
charset_parse : COMMON_ACCEPT_HEADER_PARSER
|
||||
language : LANGUAGE_PARSE
|
||||
do
|
||||
create mime_parse
|
||||
-- parse_result := mime_parse.parse_mime_type ("application/xhtml;q=0.5")
|
||||
-- print ("%N"+parse_result.out)
|
||||
|
||||
-- parse_result := mime_parse.parse_media_range ("application/xml;q=1")
|
||||
-- print ("%N"+parse_result.out)
|
||||
-- check
|
||||
-- "('application', 'xml', {'q':'1',})" ~ mime_parse.parse_media_range ("application/xml;q=1").out
|
||||
-- end
|
||||
|
||||
-- parse_result := mime_parse.parse_media_range ("application/xml")
|
||||
-- print ("%N"+parse_result.out)
|
||||
-- check
|
||||
-- "('application', 'xml', {'q':'1',})" ~ mime_parse.parse_media_range ("application/xml;q=1").out
|
||||
-- end
|
||||
-- assertEquals("('application', 'xml', {'q':'1',})", MIMEParse
|
||||
-- .parseMediaRange("application/xml").toString());
|
||||
-- assertEquals("('application', 'xml', {'q':'1',})", MIMEParse
|
||||
-- .parseMediaRange("application/xml;q=").toString());
|
||||
-- assertEquals("('application', 'xml', {'q':'1',})", MIMEParse
|
||||
-- .parseMediaRange("application/xml ; q=").toString());
|
||||
-- assertEquals("('application', 'xml', {'b':'other','q':'1',})",
|
||||
-- MIMEParse.parseMediaRange("application/xml ; q=1;b=other")
|
||||
-- .toString());
|
||||
-- assertEquals("('application', 'xml', {'b':'other','q':'1',})",
|
||||
-- MIMEParse.parseMediaRange("application/xml ; q=2;b=other")
|
||||
-- .toString());
|
||||
-- // Java URLConnection class sends an Accept header that includes a
|
||||
-- // single *
|
||||
-- assertEquals("('*', '*', {'q':'.2',})", MIMEParse.parseMediaRange(
|
||||
-- " *; q=.2").toString());
|
||||
|
||||
accept := "application/atom+xml;q=1.0,application/xml;q=0.6,text/html"
|
||||
print ("%N"+mime_parse.quality ("text/html;q=1.0", accept).out)
|
||||
print ("%N"+mime_parse.quality ("application/xml", accept).out)
|
||||
print ("%N"+mime_parse.quality ("*/*;q=0.1", accept).out)
|
||||
|
||||
accept := "application/atom+xml"
|
||||
print ("%N"+mime_parse.parse_mime_type (accept).out)
|
||||
create charset_parse
|
||||
accept := "iso-8859-5"
|
||||
print ("%N" + charset_parse.parse_common (accept).out)
|
||||
accept := "unicode-1-1;q=0.8"
|
||||
print ("%N" + charset_parse.parse_common (accept).out)
|
||||
|
||||
|
||||
accept:= "iso-8859-5, unicode-1-1;q=0.8"
|
||||
print ("%N"+ charset_parse.quality ("iso-8859-5", accept).out)
|
||||
print ("%N"+ charset_parse.quality ("unicode-1-1", accept).out)
|
||||
print ("%N"+ charset_parse.quality ("iso-8859-1", accept).out)
|
||||
|
||||
|
||||
create language
|
||||
accept :="da, en-gb;q=0.8, en;q=0.7"
|
||||
print (language.best_match (accept.split (','), "da"))
|
||||
print (language.best_match (accept.split (','), "en-*"))
|
||||
|
||||
print ("%N"+language.parse_media_range ("da").out)
|
||||
print ("%N"+language.parse_media_range ("en-gb;q=0.8").out)
|
||||
print ("%N"+language.parse_media_range ("en;q=0.7").out)
|
||||
print ("%N"+language.parse_media_range ("en-*").out)
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user