Updated Library conneg (markdown)

This commit is contained in:
colin-adams
2012-06-15 08:04:30 -07:00
parent 74079325a0
commit 53a206694a

View File

@@ -12,7 +12,7 @@ The user agent (a web browser, for example. or the curl program), can request di
Next, we need to declare all the representations we support:
` mime_types_supported: LINKED_LIST [STRING] is
-- Media types `Current' supports
-- Media types 'Current' supports
once
create Result.make
Result.put_front ({HTTP_MIME_TYPES}.application_xml)
@@ -23,7 +23,7 @@ Next, we need to declare all the representations we support:
end
charsets_supported: LINKED_LIST [STRING] is
-- Character sets `Current' supports
-- Character sets 'Current' supports
once
create Result.make
Result.put_front ("UTF-8")
@@ -33,7 +33,7 @@ Next, we need to declare all the representations we support:
end
encodings_supported: LINKED_LIST [STRING] is
-- Encodings `Current' supports
-- Encodings 'Current' supports
once
create Result.make
Result.put_front ("identity")
@@ -44,7 +44,7 @@ Next, we need to declare all the representations we support:
end
languages_supported: LINKED_LIST [STRING] is
-- Languages `Current' supports
-- Languages 'Current' supports
once
create Result.make
Result.put_front ("en")
@@ -55,5 +55,20 @@ Next, we need to declare all the representations we support:
Now we are in a position to do some negotiating. At the beginning of your handler(s), code:
`
local
l_media_variants: MEDIA_TYPE_VARIANT_RESULTS
do
l_media_variants:= conneg.media_type_preference (mime_types_supported, a_req.http_accept)
if not l_media_variants.is_acceptable then
send_unacceptable_media_type (a_res)
elseif not conneg.charset_preference (charsets_supported, a_req.http_accept_charset).is_acceptable then
send_unacceptable_charset (a_res)
elseif not conneg.encoding_preference (encodings_supported, a_req.http_accept_encoding).is_acceptable then
send_unacceptable_encoding (a_res)
elseif not conneg.language_preference (languages_supported, a_req.http_accept_language).is_acceptable then
send_unacceptable_encoding (a_res)
else
-- We have agreed a representation, let's go and serve it to the client
`