/// Returns the header of the GZIP stream.
///
/// # Examples
/// ```
/// use libflate::gzip::Os;
/// use libflate::non_blocking::gzip::Decoder;
///
/// let encoded_data = [31, 139, 8, 0, 123, 0, 0, 0, 0, 3, 1, 12, 0, 243, 255,
///                     72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33,
///                     163, 28, 41, 28, 12, 0, 0, 0];
///
/// let mut decoder = Decoder::new(&encoded_data[..]);
/// assert_eq!(decoder.header().unwrap().os(), Os::Unix);
/// ```
Returns the header of the GZIP stream.
Returns the header of the GZIP stream .
pub fn header(&mut self) -> io::Result<&Header> {
        if let Some(ref header) = self.header {
            Ok(header)
        } else {
            let header = self
                .reader
                .bit_reader_mut()
                .transaction(|r| Header::read_from(r.as_inner_mut()))?;
            self.header = Some(header);
            self.header()
        }
    }
pub fn header ( & mut self ) -> io :: Result < & Header > { if let Some ( ref header ) = self . header { Ok ( header ) } else { let header = self . reader . bit_reader_mut ( ) . transaction ( | r | Header :: read_from ( r . as_inner_mut ( ) ) ) ? ; self . header = Some ( header ) ; self . header ( ) } }
Returns the header of the GZIP stream.
Returns the header of the GZIP stream .
&mut self
examples
```
use libflate::gzip::Os;
use libflate::non_blocking::gzip::Decoder.



let mut decoder = Decoder::new(&encoded_data[..]);
assert_eq!(decoder.header().unwrap().os(), Os::Unix);
```
` ` ` use libflate :: gzip :: Os ; use libflate :: non_blocking :: gzip :: Decoder . let mut decoder = Decoder :: new ( &encoded_data [ .. ] ) ; assert_eq! ( decoder . header () . unwrap () . os () Os :: Unix ) ; ` ` `