def METHOD_NAME(self, request):
    decoder = self.get_decoder(request)
    # perform some dependant value checking
    compression = decoder.compression
    predictor = decoder.predictor
    jpeg_quality = decoder.jpeg_quality
    tiling = decoder.tiling
    tileheight = decoder.tileheight
    tilewidth = decoder.tilewidth
    if predictor and compression not in ("LZW", "Deflate"):
        raise PredictorNotSupported(
            "geotiff:predictor requires compression method 'LZW' or "
            "'Deflate'.", "geotiff:predictor"
        )
    if jpeg_quality is not None:  
        if compression != "JPEG":
            raise CompressionNotSupported(
                "geotiff:jpeg_quality requires compression method 'JPEG'.",
                "geotiff:jpeg_quality"
            )
        else :
            parse_jpeg_quality(jpeg_quality)
    if tiling and (tileheight is None or tilewidth is None):
        raise TilingInvalid(
            "geotiff:tiling requires geotiff:tilewidth and "
            "geotiff:tileheight to be set.", "geotiff:tiling"
        )
    return {
        "compression": compression,
        "jpeg_quality": jpeg_quality,
        "predictor": predictor,
        "interleave": decoder.interleave,
        "tiling": tiling,
        "tileheight": tileheight,
        "tilewidth": tilewidth
    }