Ejemplo n.º 1
0
	    private static Expression ResolveEncodedWriter(ParameterExpression writerParameter, ITextEncoder textEncoder)
	    {
		    var outputEncoderExpression = Expression.Constant(textEncoder, typeof (ITextEncoder));

#if netstandard
            var encodedWriterFromMethod = typeof(EncodedTextWriter).GetRuntimeMethod("From", new[] { typeof(TextWriter), typeof(ITextEncoder) });
#else
            var encodedWriterFromMethod = typeof(EncodedTextWriter).GetMethod("From", new[] {typeof (TextWriter), typeof (ITextEncoder)});
#endif

		    return Expression.Call(encodedWriterFromMethod, writerParameter, outputEncoderExpression);
	    }
Ejemplo n.º 2
0
		public static EncodedTextWriter From(TextWriter writer, ITextEncoder encoder)
		{
			var encodedTextWriter = writer as EncodedTextWriter;

			return encodedTextWriter ?? new EncodedTextWriter(writer, encoder);
		}
Ejemplo n.º 3
0
		public EncodedTextWriter(TextWriter writer, ITextEncoder encoder)
		{
			_underlyingWriter = writer;
			_encoder = encoder;
		}
Ejemplo n.º 4
0
 private static ITextEncoder setIndexEncoding(string name, ITextEncoder enc)
 {
     lock(syncRoot){
       indexEncodingMap.Add(name,enc);
     }
     return enc;
 }
Ejemplo n.º 5
0
   /**
      *
      * Utility method to write a _string to an output byte stream.
      *
      * @param str string. If null,
      * Any unpaired surrogates in the _string are kept intact in the
      * input to the encoder.
      * @param output a stream for writing converted bytes to.
      * If null,
      * @param encoder Encoder for converting Unicode characters
      * to bytes.
      * If null,
      * @param error Error handler called when a Unicode character
      * cannot be converted to bytes.  You
      * can use TextEncoding.ENCODING_ERROR_THROW or
      * TextEncoding.ENCODING_ERROR_REPLACE for this.
      * If null,
      * @ if the error handler  exception
      * or another I/O error occurs
      */
   public static void encodeString(
 string str, Stream output,
 ITextEncoder encoder, IEncodingError error)
   {
       if(str==null || encoder==null || output==null || error==null)
         throw new ArgumentException();
       int[] data=new int[1];
       int length=str.Length;
       for(int i=0;i<length;i++){
         int c=str[i];
         if(c>=0xD800 && c<=0xDBFF && i+1<length &&
         str[i+1]>=0xDC00 && str[i+1]<=0xDFFF){
       // Get the Unicode code point for the surrogate pair
       c=0x10000+(c-0xD800)*0x400+(str[i+1]-0xDC00);
       i++;
         }
         data[0]=c;
         encoder.encode(output,data,0,1,error);
       }
   }
Ejemplo n.º 6
0
        private static Expression ResolveEncodedWriter(ParameterExpression writerParameter, ITextEncoder textEncoder)
        {
            var outputEncoderExpression = Expression.Constant(textEncoder, typeof(ITextEncoder));

#if netstandard
            var encodedWriterFromMethod = typeof(EncodedTextWriter).GetRuntimeMethod("From", new[] { typeof(TextWriter), typeof(ITextEncoder) });
#else
            var encodedWriterFromMethod = typeof(EncodedTextWriter).GetMethod("From", new[] { typeof(TextWriter), typeof(ITextEncoder) });
#endif

            return(Expression.Call(encodedWriterFromMethod, writerParameter, outputEncoderExpression));
        }
Ejemplo n.º 7
0
 public SecureTokenFormatter(string key)
 {
     this.serializer = new TicketSerializer();
     this.protector  = new OAuthDataProtector(key);
     this.encoder    = TextEncodings.Base64Url;
 }