summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/google/gerrit/server/http/CookieBase64.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/gerrit/server/http/CookieBase64.java')
-rw-r--r--src/main/java/com/google/gerrit/server/http/CookieBase64.java98
1 files changed, 0 insertions, 98 deletions
diff --git a/src/main/java/com/google/gerrit/server/http/CookieBase64.java b/src/main/java/com/google/gerrit/server/http/CookieBase64.java
deleted file mode 100644
index f0092d3ac7..0000000000
--- a/src/main/java/com/google/gerrit/server/http/CookieBase64.java
+++ /dev/null
@@ -1,98 +0,0 @@
-// Copyright (C) 2009 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// This code is based heavily on Robert Harder's <rob@iharder.net>
-// public domain Base64 class, version 2.1.
-//
-
-package com.google.gerrit.server.http;
-
-/** Base64 encoder which uses a language safe within HTTP cookies. */
-class CookieBase64 {
- private static final char[] enc;
-
- static {
- enc = new char[64];
- int o = 0;
- o = fill(enc, o, 'a', 'z');
- o = fill(enc, o, 'A', 'Z');
- o = fill(enc, o, '0', '9');
- enc[o++] = '-';
- enc[o++] = '.';
- }
-
- private static int fill(final char[] out, int o, final char f, final int l) {
- for (char c = f; c <= l; c++)
- out[o++] = c;
- return o;
- }
-
- static String encode(final byte[] in) {
- final StringBuilder out = new StringBuilder(in.length * 4 / 3);
- final int len2 = in.length - 2;
- int d = 0;
- for (; d < len2; d += 3) {
- encode3to4(out, in, d, 3);
- }
- if (d < in.length) {
- encode3to4(out, in, d, in.length - d);
- }
- return out.toString();
- }
-
- private static void encode3to4(final StringBuilder out, final byte[] in,
- final int inOffset, final int numSigBytes) {
- // 1 2 3
- // 01234567890123456789012345678901 Bit position
- // --------000000001111111122222222 Array position from threeBytes
- // --------| || || || | Six bit groups to index ALPHABET
- // >>18 >>12 >> 6 >> 0 Right shift necessary
- // 0x3f 0x3f 0x3f Additional AND
-
- // Create buffer with zero-padding if there are only one or two
- // significant bytes passed in the array.
- // We have to shift left 24 in order to flush out the 1's that appear
- // when Java treats a value as negative that is cast from a byte to an int.
- //
- int inBuff = ( numSigBytes > 0 ? ((in[ inOffset ] << 24) >>> 8) : 0 )
- | ( numSigBytes > 1 ? ((in[ inOffset + 1 ] << 24) >>> 16) : 0 )
- | ( numSigBytes > 2 ? ((in[ inOffset + 2 ] << 24) >>> 24) : 0 );
-
- switch (numSigBytes) {
- case 3:
- out.append(enc[(inBuff >>> 18)]);
- out.append(enc[(inBuff >>> 12) & 0x3f]);
- out.append(enc[(inBuff >>> 6) & 0x3f]);
- out.append(enc[(inBuff) & 0x3f]);
- break;
-
- case 2:
- out.append(enc[(inBuff >>> 18)]);
- out.append(enc[(inBuff >>> 12) & 0x3f]);
- out.append(enc[(inBuff >>> 6) & 0x3f]);
- break;
-
- case 1:
- out.append(enc[(inBuff >>> 18)]);
- out.append(enc[(inBuff >>> 12) & 0x3f]);
- break;
-
- default:
- break;
- }
- }
-
- private CookieBase64() {
- }
-}