pub fn cookiepath(reader: &mut Reader) -> ParseResult<'static, CookiePath> {
    let start = reader.state.pos.clone();
    let s = reader.read_while(|c| *c != '[');
    let mut template_reader = Reader::init(s.as_str());
    template_reader.state.pos = start;
    let name = unquoted_template(&mut template_reader)?;
    let attribute = optional(cookiepath_attribute, reader)?;
    Ok(CookiePath { name, attribute })
}
/*

"cookiepath" expression
not described in the official grammar

cookie-query 	= "cookie" sp sp* """  cookiepath-expr  """
cookiepath-expr = cookie-query-name ( "[" sp* cookie-query-attribute sp* "]" )
cookiepath-name = <[a-zA-Z0-9{}]+>
cookiepath-attribute = Value | Expires | Max-Age | Domain | Path | Secure | HttpOnly | SameSite

*/
"cookiepath" expression
not described in the official grammar


" cookiepath " expression not described in the official grammar
pub fn cookiepath(reader: &mut Reader) -> ParseResult<'static, CookiePath> {
    let start = reader.state.pos.clone();
    let s = reader.read_while(|c| *c != '[');
    let mut template_reader = Reader::init(s.as_str());
    template_reader.state.pos = start;
    let name = unquoted_template(&mut template_reader)?;
    let attribute = optional(cookiepath_attribute, reader)?;
    Ok(CookiePath { name, attribute })
}
pub fn cookiepath ( reader : & mut Reader ) -> ParseResult < ' static , CookiePath > { let start = reader . state . pos . clone ( ) ; let s = reader . read_while ( | c | * c != '[' ) ; let mut template_reader = Reader :: init ( s . as_str ( ) ) ; template_reader . state . pos = start ; let name = unquoted_template ( & mut template_reader ) ? ; let attribute = optional ( cookiepath_attribute , reader ) ? ; Ok ( CookiePath { name , attribute } ) }
"cookiepath" expression
not described in the official grammar
" cookiepath " expression not described in the official grammar
reader
&mut Reader
reader
&mut Reader