mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/utils/Punycode.java

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 /*
     2  * $HeadURL$
     3  * $Revision$
     4  * $Date$
     5  *
     6  * ====================================================================
     7  *
     8  *  Licensed to the Apache Software Foundation (ASF) under one or more
     9  *  contributor license agreements.  See the NOTICE file distributed with
    10  *  this work for additional information regarding copyright ownership.
    11  *  The ASF licenses this file to You under the Apache License, Version 2.0
    12  *  (the "License"); you may not use this file except in compliance with
    13  *  the License.  You may obtain a copy of the License at
    14  *
    15  *      http://www.apache.org/licenses/LICENSE-2.0
    16  *
    17  *  Unless required by applicable law or agreed to in writing, software
    18  *  distributed under the License is distributed on an "AS IS" BASIS,
    19  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    20  *  See the License for the specific language governing permissions and
    21  *  limitations under the License.
    22  * ====================================================================
    23  *
    24  * This software consists of voluntary contributions made by many
    25  * individuals on behalf of the Apache Software Foundation.  For more
    26  * information on the Apache Software Foundation, please see
    27  * <http://www.apache.org/>.
    28  *
    29  */
    31 package ch.boye.httpclientandroidlib.client.utils;
    33 import ch.boye.httpclientandroidlib.annotation.Immutable;
    35 /**
    36  * Facade that provides conversion between Unicode and Punycode domain names.
    37  * It will use an appropriate implementation.
    38  *
    39  * @since 4.0
    40  */
    41 @Immutable
    42 public class Punycode {
    43     private static final Idn impl;
    44     static {
    45         Idn _impl;
    46         try {
    47             _impl = new JdkIdn();
    48         } catch (Exception e) {
    49             _impl = new Rfc3492Idn();
    50         }
    51         impl = _impl;
    52     }
    54     public static String toUnicode(String punycode) {
    55         return impl.toUnicode(punycode);
    56     }
    58 }

mercurial