def METHOD_NAME(body):
    assert body[0:2] == "\x1f\x8b"
    method, flags, mtime = struct.unpack("<BBIxx", body[2:10])
    FHCRC    = 0x02
    FEXTRA   = 0x04
    FNAME    = 0x08
    FCOMMENT = 0x10
    i = 10
    if flags & FEXTRA:
        size, = struct.unpack("<H", body[i:i+2])
        i += size + 2
    def skip_until_zero(ix):
        while body[ix] != '\x00': ix += 1
        return ix + 1 
    if flags & FNAME:    i = skip_until_zero(i)
    if flags & FCOMMENT: i = skip_until_zero(i)
    if flags & FHCRC:    i += 2
    body = body[i:]
    return body