Mercurial > hg > nginx
view contrib/unicode2nginx/unicode-to-nginx.pl @ 5878:2c89956b6a76
Cache: hash of Vary headers now stored in cache.
To cache responses with Vary, we now calculate hash of headers listed
in Vary, and return the response from cache only if new request headers
match.
As of now, only one variant of the same resource can be stored in cache.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Mon, 27 Oct 2014 21:13:58 +0300 |
parents | 63a820b0bc6c |
children | 8752257e883f |
line wrap: on
line source
#!/usr/bin/perl -w # Convert unicode mappings to nginx configuration file format. # You may find useful mappings in various places, including # unicode.org official site: # # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1251.TXT # http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8-R.TXT # Needs perl 5.6 or later. # Written by Maxim Dounin, mdounin@rambler-co.ru ############################################################################### require 5.006; while (<>) { # Skip comments and empty lines next if /^#/; next if /^\s*$/; chomp; # Convert mappings if (/^\s*0x(..)\s*0x(....)\s*(#.*)/) { # Mapping <from-code> <unicode-code> "#" <unicode-name> my $cs_code = $1; my $un_code = $2; my $un_name = $3; # Produce UTF-8 sequence from character code; my $un_utf8 = join('', map { sprintf("%02X", $_) } unpack("C*", pack("U", hex($un_code)))); print " $cs_code $un_utf8 ; $un_name\n"; } else { warn "Unrecognized line: '$_'"; } } ###############################################################################