@@ -12,69 +12,54 @@ namespace Microsoft.Samples.GZipEncoder
1212 //This class is used to create the custom encoder (GZipMessageEncoder)
1313 internal class GZipMessageEncoderFactory : MessageEncoderFactory
1414 {
15- MessageEncoder encoder ;
15+ private readonly MessageEncoder _encoder ;
1616
1717 //The GZip encoder wraps an inner encoder
1818 //We require a factory to be passed in that will create this inner encoder
1919 public GZipMessageEncoderFactory ( MessageEncoderFactory messageEncoderFactory )
2020 {
2121 if ( messageEncoderFactory == null )
2222 throw new ArgumentNullException ( "messageEncoderFactory" , "A valid message encoder factory must be passed to the GZipEncoder" ) ;
23- encoder = new GZipMessageEncoder ( messageEncoderFactory . Encoder ) ;
23+ _encoder = new GZipMessageEncoder ( messageEncoderFactory . Encoder ) ;
2424 }
2525
2626 //The service framework uses this property to obtain an encoder from this encoder factory
27- public override MessageEncoder Encoder
28- {
29- get { return encoder ; }
30- }
27+ public override MessageEncoder Encoder => _encoder ;
3128
32- public override MessageVersion MessageVersion
33- {
34- get { return encoder . MessageVersion ; }
35- }
29+ public override MessageVersion MessageVersion => _encoder . MessageVersion ;
3630
3731 //This is the actual GZip encoder
38- class GZipMessageEncoder : MessageEncoder
32+ private class GZipMessageEncoder : MessageEncoder
3933 {
40- static string GZipContentType = "application/x-gzip" ;
34+ private const string GZipContentType = "application/x-gzip" ;
4135
4236 //This implementation wraps an inner encoder that actually converts a WCF Message
4337 //into textual XML, binary XML or some other format. This implementation then compresses the results.
4438 //The opposite happens when reading messages.
4539 //This member stores this inner encoder.
46- MessageEncoder innerEncoder ;
40+ private readonly MessageEncoder _innerEncoder ;
4741
4842 //We require an inner encoder to be supplied (see comment above)
4943 internal GZipMessageEncoder ( MessageEncoder messageEncoder )
5044 : base ( )
5145 {
5246 if ( messageEncoder == null )
5347 throw new ArgumentNullException ( "messageEncoder" , "A valid message encoder must be passed to the GZipEncoder" ) ;
54- innerEncoder = messageEncoder ;
48+ _innerEncoder = messageEncoder ;
5549 }
5650
57- public override string ContentType
58- {
59- get { return GZipContentType ; }
60- }
51+ public override string ContentType => GZipContentType ;
6152
62- public override string MediaType
63- {
64- get { return GZipContentType ; }
65- }
53+ public override string MediaType => GZipContentType ;
6654
6755 //SOAP version to use - we delegate to the inner encoder for this
68- public override MessageVersion MessageVersion
69- {
70- get { return innerEncoder . MessageVersion ; }
71- }
56+ public override MessageVersion MessageVersion => _innerEncoder . MessageVersion ;
7257
7358 //Helper method to compress an array of bytes
74- static ArraySegment < byte > CompressBuffer ( ArraySegment < byte > buffer , BufferManager bufferManager , int messageOffset )
59+ private static ArraySegment < byte > CompressBuffer ( ArraySegment < byte > buffer , BufferManager bufferManager , int messageOffset )
7560 {
7661 MemoryStream memoryStream = new MemoryStream ( ) ;
77-
62+
7863 using ( GZipStream gzStream = new GZipStream ( memoryStream , CompressionMode . Compress , true ) )
7964 {
8065 gzStream . Write ( buffer . Array , buffer . Offset , buffer . Count ) ;
@@ -93,7 +78,7 @@ static ArraySegment<byte> CompressBuffer(ArraySegment<byte> buffer, BufferManage
9378 }
9479
9580 //Helper method to decompress an array of bytes
96- static ArraySegment < byte > DecompressBuffer ( ArraySegment < byte > buffer , BufferManager bufferManager )
81+ private static ArraySegment < byte > DecompressBuffer ( ArraySegment < byte > buffer , BufferManager bufferManager )
9782 {
9883 MemoryStream memoryStream = new MemoryStream ( buffer . Array , buffer . Offset , buffer . Count ) ;
9984 MemoryStream decompressedStream = new MemoryStream ( ) ;
@@ -130,7 +115,7 @@ public override Message ReadMessage(ArraySegment<byte> buffer, BufferManager buf
130115 //Decompress the buffer
131116 ArraySegment < byte > decompressedBuffer = DecompressBuffer ( buffer , bufferManager ) ;
132117 //Use the inner encoder to decode the decompressed buffer
133- Message returnMessage = innerEncoder . ReadMessage ( decompressedBuffer , bufferManager ) ;
118+ Message returnMessage = _innerEncoder . ReadMessage ( decompressedBuffer , bufferManager ) ;
134119 returnMessage . Properties . Encoder = this ;
135120 return returnMessage ;
136121 }
@@ -139,7 +124,7 @@ public override Message ReadMessage(ArraySegment<byte> buffer, BufferManager buf
139124 public override ArraySegment < byte > WriteMessage ( Message message , int maxMessageSize , BufferManager bufferManager , int messageOffset )
140125 {
141126 //Use the inner encoder to encode a Message into a buffered byte array
142- ArraySegment < byte > buffer = innerEncoder . WriteMessage ( message , maxMessageSize , bufferManager , 0 ) ;
127+ ArraySegment < byte > buffer = _innerEncoder . WriteMessage ( message , maxMessageSize , bufferManager , 0 ) ;
143128 //Compress the resulting byte array
144129 return CompressBuffer ( buffer , bufferManager , messageOffset ) ;
145130 }
@@ -150,14 +135,14 @@ public override Message ReadMessage(System.IO.Stream stream, int maxSizeOfHeader
150135 //This will ensure that the inner stream gets closed when the message gets closed, which
151136 //will ensure that resources are available for reuse/release.
152137 GZipStream gzStream = new GZipStream ( stream , CompressionMode . Decompress , false ) ;
153- return innerEncoder . ReadMessage ( gzStream , maxSizeOfHeaders ) ;
138+ return _innerEncoder . ReadMessage ( gzStream , maxSizeOfHeaders ) ;
154139 }
155140
156141 public override void WriteMessage ( Message message , System . IO . Stream stream )
157142 {
158143 using ( GZipStream gzStream = new GZipStream ( stream , CompressionMode . Compress , true ) )
159144 {
160- innerEncoder . WriteMessage ( message , gzStream ) ;
145+ _innerEncoder . WriteMessage ( message , gzStream ) ;
161146 }
162147
163148 // innerEncoder.WriteMessage(message, gzStream) depends on that it can flush data by flushing
0 commit comments