[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] pnetlib/System/Net BasicClient.cs,1.1,1.2
From: |
Rhys Weatherley <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] pnetlib/System/Net BasicClient.cs,1.1,1.2 |
Date: |
Wed, 26 Nov 2003 01:07:12 +0000 |
Update of /cvsroot/dotgnu-pnet/pnetlib/System/Net
In directory subversions:/tmp/cvs-serv8863/System/Net
Modified Files:
BasicClient.cs
Log Message:
Fix some profile-related build issues.
Index: BasicClient.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/System/Net/BasicClient.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** BasicClient.cs 14 Nov 2003 05:04:31 -0000 1.1
--- BasicClient.cs 26 Nov 2003 01:07:10 -0000 1.2
***************
*** 65,69 ****
byte[] buf=Encoding.Default.GetBytes(response);
! return new Authorization("Basic "+Convert.ToBase64String(buf));
}
--- 65,69 ----
byte[] buf=Encoding.Default.GetBytes(response);
! return new Authorization("Basic "+ToBase64String(buf));
}
***************
*** 86,89 ****
--- 86,157 ----
}
}
+
+ // Characters to use to encode 6-bit values in base64.
+ private const String base64Chars =
+
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+
+ // Convert an array of bytes into a base64 string.
+ private static String ToBase64String(byte[] inArray)
+ {
+ if(inArray == null)
+ {
+ throw new
ArgumentNullException("inArray");
+ }
+ return ToBase64String(inArray, 0,
inArray.Length);
+ }
+ private static String ToBase64String(byte[] inArray, int offset, int
length)
+ {
+ // Validate the parameters.
+ if(inArray == null)
+ {
+ throw new
ArgumentNullException("inArray");
+ }
+ if(offset < 0 || offset > inArray.Length)
+ {
+ throw new ArgumentOutOfRangeException
+ ("offset",
S._("ArgRange_Array"));
+ }
+ if(length < 0 || length > (inArray.Length -
offset))
+ {
+ throw new ArgumentOutOfRangeException
+ ("length",
S._("ArgRange_Array"));
+ }
+
+ // Convert the bytes.
+ StringBuilder builder =
+ new StringBuilder
+ ((int)(((((long)length) + 2L) *
4L) / 3L));
+ int bits = 0;
+ int numBits = 0;
+ String base64 = base64Chars;
+ int size = length;
+ while(size > 0)
+ {
+ bits = (bits << 8) + inArray[offset++];
+ numBits += 8;
+ --size;
+ while(numBits >= 6)
+ {
+ numBits -= 6;
+ builder.Append(base64[bits >>
numBits]);
+ bits &= ((1 << numBits) - 1);
+ }
+ }
+ length %= 3;
+ if(length == 1)
+ {
+ builder.Append(base64[bits << (6 -
numBits)]);
+ builder.Append('=');
+ builder.Append('=');
+ }
+ else if(length == 2)
+ {
+ builder.Append(base64[bits << (6 -
numBits)]);
+ builder.Append('=');
+ }
+
+ // Finished.
+ return builder.ToString();
+ }
}; // class BasicClient
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] pnetlib/System/Net BasicClient.cs,1.1,1.2,
Rhys Weatherley <address@hidden> <=
- Prev by Date:
[Dotgnu-pnet-commits] pnetlib ChangeLog,1.1532,1.1533
- Next by Date:
[Dotgnu-pnet-commits] pnetlib/System.Drawing Bitmap.cs, 1.10, 1.11 Icon.cs, 1.5, 1.6 Image.cs, 1.9, 1.10
- Previous by thread:
[Dotgnu-pnet-commits] pnetlib ChangeLog,1.1532,1.1533
- Next by thread:
[Dotgnu-pnet-commits] pnetlib/System.Drawing Bitmap.cs, 1.10, 1.11 Icon.cs, 1.5, 1.6 Image.cs, 1.9, 1.10
- Index(es):