логика получения значения из составного заголовка у каждого заголовка своя
кроме того, для Content-Type у тебя неверный регексп, посмотри внимательнее

       media-type     = type "/" subtype *( ";" parameter )
       type           = token
       subtype        = token