blob: 7e62b530a5e2a3e98e5ebbaec104c235ef0dc291 [file]
[
{
"id": "COOK-CONTROL-CHARS",
"description": "Control characters (0x01-0x03) in cookie value — dangerous if preserved",
"category": "Cookies",
"rfcLevel": "NotApplicable",
"expected": "400 (rejected) or 2xx without control chars",
"verdict": "Fail",
"statusCode": 200,
"rawRequest": "GET /echo HTTP/1.1\r\nHost: 127.0.0.1:<PORT>\r\nCookie: foo=\u0001\u0002\u0003\r\n\r\n",
"rawResponse": "HTTP/1.1 200 OK\r\nx-powered-by: Dart with package:shelf\r\ndate: <DATE>\r\ncontent-length: 40\r\nx-frame-options: SAMEORIGIN\r\ncontent-type: text/plain; charset=utf-8\r\nx-xss-protection: 1; mode=block\r\nx-content-type-options: nosniff\r\n\r\ncookie: foo=\u0001\u0002\u0003\r\nhost: 127.0.0.1:<PORT>\r\n",
"behavioralNote": "Control chars preserved (dangerous)"
},
{
"id": "COOK-ECHO",
"description": "Basic Cookie header echoed back by /echo endpoint",
"category": "Cookies",
"rfcLevel": "NotApplicable",
"expected": "2xx with Cookie in body",
"verdict": "Pass",
"statusCode": 200,
"rawRequest": "GET /echo HTTP/1.1\r\nHost: 127.0.0.1:<PORT>\r\nCookie: foo=bar\r\n\r\n",
"rawResponse": "HTTP/1.1 200 OK\r\nx-powered-by: Dart with package:shelf\r\ndate: <DATE>\r\ncontent-length: 40\r\nx-frame-options: SAMEORIGIN\r\ncontent-type: text/plain; charset=utf-8\r\nx-xss-protection: 1; mode=block\r\nx-content-type-options: nosniff\r\n\r\ncookie: foo=bar\r\nhost: 127.0.0.1:<PORT>\r\n",
"behavioralNote": "Cookie echoed: foo=bar"
},
{
"id": "COOK-EMPTY",
"description": "Empty Cookie header value — tests parser resilience",
"category": "Cookies",
"rfcLevel": "NotApplicable",
"expected": "2xx or 400",
"verdict": "Pass",
"statusCode": 200,
"rawRequest": "GET /echo HTTP/1.1\r\nHost: 127.0.0.1:<PORT>\r\nCookie: \r\n\r\n",
"rawResponse": "HTTP/1.1 200 OK\r\nx-powered-by: Dart with package:shelf\r\ndate: <DATE>\r\ncontent-length: 33\r\nx-frame-options: SAMEORIGIN\r\ncontent-type: text/plain; charset=utf-8\r\nx-xss-protection: 1; mode=block\r\nx-content-type-options: nosniff\r\n\r\ncookie: \r\nhost: 127.0.0.1:<PORT>\r\n",
"behavioralNote": "Accepted empty cookie"
},
{
"id": "COOK-MALFORMED",
"description": "Completely malformed cookie value (===;;;) — tests parser crash resilience",
"category": "Cookies",
"rfcLevel": "NotApplicable",
"expected": "2xx or 400",
"verdict": "Pass",
"statusCode": 200,
"rawRequest": "GET /echo HTTP/1.1\r\nHost: 127.0.0.1:<PORT>\r\nCookie: ===;;;\r\n\r\n",
"rawResponse": "HTTP/1.1 200 OK\r\nx-powered-by: Dart with package:shelf\r\ndate: <DATE>\r\ncontent-length: 39\r\nx-frame-options: SAMEORIGIN\r\ncontent-type: text/plain; charset=utf-8\r\nx-xss-protection: 1; mode=block\r\nx-content-type-options: nosniff\r\n\r\ncookie: ===;;;\r\nhost: 127.0.0.1:<PORT>\r\n",
"behavioralNote": "Accepted malformed cookie"
},
{
"id": "COOK-MANY-PAIRS",
"description": "1000 cookie key=value pairs — tests parser performance limits",
"category": "Cookies",
"rfcLevel": "NotApplicable",
"expected": "2xx or 400/431",
"verdict": "Pass",
"statusCode": 200,
"rawRequest": "GET /echo HTTP/1.1\r\nHost: 127.0.0.1:<PORT>\r\nCookie: k0=v0; k1=v1; k2=v2; k3=v3; k4=v4; k5=v5; k6=v6; k7=v7; k8=v8; k9=v9; k10=v10; k11=v11; k12=v12; k13=v13; k14=v14; k15=v15; k16=v16; k17=v17; k18=v18; k19=v19; k20=v20; k21=v21; k22=v22; k23=v23; k24=v24; k25=v25; k26=v26; k27=v27; k28=v28; k29=v29; k30=v30; k31=v31; k32=v32; k33=v33; k34=v34; k35=v35; k36=v36; k37=v37; k38=v38; k39=v39; k40=v40; k41=v41; k42=v42; k43=v43; k44=v44; k45=v45; k46=v46; k47=v47; k48=v48; k49=v49; k50=v50; k51=v51; k52=v52; k53=v53; k54=v54; k55=v55; k56=v56; k57=v57; k58=v58; k59=v59; k60=v60; k61=v61; k62=v62; k63=v63; k64=v64; k65=v65; k66=v66; k67=v67; k68=v68; k69=v69; k70=v70; k71=v71; k72=v72; k73=v73; k74=v74; k75=v75; k76=v76; k77=v77; k78=v78; k79=v79; k80=v80; k81=v81; k82=v82; k83=v83; k84=v84; k85=v85; k86=v86; k87=v87; k88=v88; k89=v89; k90=v90; k91=v91; k92=v92; k93=v93; k94=v94; k95=v95; k96=v96; k97=v97; k98=v98; k99=v99; k100=v100; k101=v101; k102=v102; k103=v103; k104=v104; k105=v105; k106=v106; k107=v107; k108=v108; k109=v109; k110=v110; k111=v111; k112=v112; k113=v113; k114=v114; k115=v115; k116=v116; k117=v117; k118=v118; k119=v119; k120=v120; k121=v121; k122=v122; k123=v123; k124=v124; k125=v125; k126=v126; k127=v127; k128=v128; k129=v129; k130=v130; k131=v131; k132=v132; k133=v133; k134=v134; k135=v135; k136=v136; k137=v137; k138=v138; k139=v139; k140=v140; k141=v141; k142=v142; k143=v143; k144=v144; k145=v145; k146=v146; k147=v147; k148=v148; k149=v149; k150=v150; k151=v151; k152=v152; k153=v153; k154=v154; k155=v155; k156=v156; k157=v157; k158=v158; k159=v159; k160=v160; k161=v161; k162=v162; k163=v163; k164=v164; k165=v165; k166=v166; k167=v167; k168=v168; k169=v169; k170=v170; k171=v171; k172=v172; k173=v173; k174=v174; k175=v175; k176=v176; k177=v177; k178=v178; k179=v179; k180=v180; k181=v181; k182=v182; k183=v183; k184=v184; k185=v185; k186=v186; k187=v187; k188=v188; k189=v189; k190=v190; k191=v191; k192=v192; k193=v193; k194=v194; k195=v195; k196=v196; k197=v197; k198=v198; k199=v199; k200=v200; k201=v201; k202=v202; k203=v203; k204=v204; k205=v205; k206=v206; k207=v207; k208=v208; k209=v209; k210=v210; k211=v211; k212=v212; k213=v213; k214=v214; k215=v215; k216=v216; k217=v217; k218=v218; k219=v219; k220=v220; k221=v221; k222=v222; k223=v223; k224=v224; k225=v225; k226=v226; k227=v227; k228=v228; k229=v229; k230=v230; k231=v231; k232=v232; k233=v233; k234=v234; k235=v235; k236=v236; k237=v237; k238=v238; k239=v239; k240=v240; k241=v241; k242=v242; k243=v243; k244=v244; k245=v245; k246=v246; k247=v247; k248=v248; k249=v249; k250=v250; k251=v251; k252=v252; k253=v253; k254=v254; k255=v255; k256=v256; k257=v257; k258=v258; k259=v259; k260=v260; k261=v261; k262=v262; k263=v263; k264=v264; k265=v265; k266=v266; k267=v267; k268=v268; k269=v269; k270=v270; k271=v271; k272=v272; k273=v273; k274=v274; k275=v275; k276=v276; k277=v277; k278=v278; k279=v279; k280=v280; k281=v281; k282=v282; k283=v283; k284=v284; k285=v285; k286=v286; k287=v287; k288=v288; k289=v289; k290=v290; k291=v291; k292=v292; k293=v293; k294=v294; k295=v295; k296=v296; k297=v297; k298=v298; k299=v299; k300=v300; k301=v301; k302=v302; k303=v303; k304=v304; k305=v305; k306=v306; k307=v307; k308=v308; k309=v309; k310=v310; k311=v311; k312=v312; k313=v313; k314=v314; k315=v315; k316=v316; k317=v317; k318=v318; k319=v319; k320=v320; k321=v321; k322=v322; k323=v323; k324=v324; k325=v325; k326=v326; k327=v327; k328=v328; k329=v329; k330=v330; k331=v331; k332=v332; k333=v333; k334=v334; k335=v335; k336=v336; k337=v337; k338=v338; k339=v339; k340=v340; k341=v341; k342=v342; k343=v343; k344=v344; k345=v345; k346=v346; k347=v347; k348=v348; k349=v349; k350=v350; k351=v351; k352=v352; k353=v353; k354=v354; k355=v355; k356=v356; k357=v357; k358=v358; k359=v359; k360=v360; k361=v361; k362=v362; k363=v363; k364=v364; k365=v365; k366=v366; k367=v367; k368=v368; k369=v369; k370=v370; k371=v371; k372=v372; k373=v373; k374=v374; k375=v375; k376=v376; k377=v377; k378=v378; k379=v379; k380=v380; k381=v381; k382=v382; k383=v383; k384=v384; k385=v385; k386=v386; k387=v387; k388=v388; k389=v389; k390=v390; k391=v391; k392=v392; k393=v393; k394=v394; k395=v395; k396=v396; k397=v397; k398=v398; k399=v399; k400=v400; k401=v401; k402=v402; k403=v403; k404=v404; k405=v405; k406=v406; k407=v407; k408=v408; k409=v409; k410=v410; k411=v411; k412=v412; k413=v413; k414=v414; k415=v415; k416=v416; k417=v417; k418=v418; k419=v419; k420=v420; k421=v421; k422=v422; k423=v423; k424=v424; k425=v425; k426=v426; k427=v427; k428=v428; k429=v429; k430=v430; k431=v431; k432=v432; k433=v433; k434=v434; k435=v435; k436=v436; k437=v437; k438=v438; k439=v439; k440=v440; k441=v441; k442=v442; k443=v443; k444=v444; k445=v445; k446=v446; k447=v447; k448=v448; k449=v449; k450=v450; k451=v451; k452=v452; k453=v453; k454=v454; k455=v455; k456=v456; k457=v457; k458=v458; k459=v459; k460=v460; k461=v461; k462=v462; k463=v463; k464=v464; k465=v465; k466=v466; k467=v467; k468=v468; k469=v469; k470=v470; k471=v471; k472=v472; k473=v473; k474=v474; k475=v475; k476=v476; k477=v477; k478=v478; k479=v479; k480=v480; k481=v481; k482=v482; k483=v483; k484=v484; k485=v485; k486=v486; k487=v487; k488=v488; k489=v489; k490=v490; k491=v491; k492=v492; k493=v493; k494=v494; k495=v495; k496=v496; k497=v497; k498=v498; k499=v499; k500=v500; k501=v501; k502=v502; k503=v503; k504=v504; k505=v505; k506=v506; k507=v507; k508=v508; k509=v509; k510=v510; k511=v511; k512=v512; k513=v513; k514=v514; k515=v515; k516=v516; k517=v517; k518=v518; k519=v519; k520=v520; k521=v521; k522=v522; k523=v523; k524=v524; k525=v525; k526=v526; k527=v527; k528=v528; k529=v529; k530=v530; k531=v531; k532=v532; k533=v533; k534=v534; k535=v535; k536=v536; k537=v537; k538=v538; k539=v539; k540=v540; k541=v541; k542=v542; k543=v543; k544=v544; k545=v545; k546=v546; k547=v547; k548=v548; k549=v549; k550=v550; k551=v551; k552=v552; k553=v553; k554=v554; k555=v555; k556=v556; k557=v557; k558=v558; k559=v559; k560=v560; k561=v561; k562=v562; k563=v563; k564=v564; k565=v565; k566=v566; k567=v567; k568=v568; k569=v569; k570=v570; k571=v571; k572=v572; k573=v573; k574=v574; k575=v575; k576=v576; k577=v577; k578=v578; k579=v579; k580=v580; k581=v581; k582=v582; k583=v583; k584=v584; k585=v585; k586=v586; k587=v587; k588=v588; k589=v589; k590=v590; k591=v591; k592=v592; k593=v593; k594=v594; k595=v595; k596=v596; k597=v597; k598=v598; k599=v599; k600=v600; k601=v601; k602=v602; k603=v603; k604=v604; k605=v605; k606=v606; k607=v607; k608=v608; k609=v609; k610=v610; k611=v611; k612=v612; k613=v613; k614=v614; k615=v615; k616=v616; k617=v617; k618=v618; k619=v619; k620=v620; k621=v621; k622=v622; k623=v623; k624=v624; k625=v625; k626=v626; k627=v627; k628=v628; k629=v629; k630=v630; k631=v631; k632=v632; k633=v633; k634=v634; k635=v635; k636=v636; k637=v637; k638=v638; k639=v639; k640=v640; k641=v641; k642=v642; k643=v643; k644=v644; k645=v645; k646=v646; k647=v647; k648=v648; k649=v649; k650=v650; k651=v651; k652=v652; k653=v653; k654=v654; k655=v655; k656=v656; k657=v657; k658=v658; k659=v659; k660=v660; k661=v661; k662=v662; k663=v663; k664=v664; k665=v665; k666=v666; k667=v667; k668=v668; k669=v669; k670=v670; k671=v671; k672=v672; k673=v673; k674=v674; k675=v675; k676=v676; k677=v677; k678=v678; k679=v679; k680=v680; k681=v681; k682=v682; k683=v683; k684=v684; k685=v685; k686=v686; k687=v687; k688=v688; k689=v689; k690=v690; k691=v691; k692=v692; k693=v693; k694=v694; k695=v695; k696=v696; k697=v697; k698=v698; k699=v699; k700=v700; k701=v701; k702=v702; k703=v703; k704=v704; k705=v705; k706=v706; k707=v707; k708=v708; k709=v709; k710=v710; k711=v711; k712=v712; k713=v713; k714=v714; k715=v715; k716=v716; k717=v717; k718=v718; k719=v719; k720=v720; k721=v721; k722=v722; k723=v723; k724=v724; k725=v725; k726=v726; k727=v727; k728=v728; k729=v729; k730=v730; k731=v731; k732=v732; k733=v733; k734=v734; k735=v735; k736=v736; k737=v737; k738=v738; k739=v739; k740=v740; k741=v741; k742=v742; k743=v743; k744=v744; k745=v745; k746=v746; k747=v747; k748=v748; k749=v749; k750=v750; k751=v751; k752=v752; k753=v753; k754=v754; k755=v755; k756=v756; k757=v757; k758=v758; k759=v759; k\n\n[Truncated — showing 8,192 of 10,833 bytes]",
"rawResponse": "HTTP/1.1 200 OK\r\nx-powered-by: Dart with package:shelf\r\ndate: <DATE>\r\ncontent-length: 10811\r\nx-frame-options: SAMEORIGIN\r\ncontent-type: text/plain; charset=utf-8\r\nx-xss-protection: 1; mode=block\r\nx-content-type-options: nosniff\r\n\r\ncookie: k0=v0; k1=v1; k2=v2; k3=v3; k4=v4; k5=v5; k6=v6; k7=v7; k8=v8; k9=v9; k10=v10; k11=v11; k12=v12; k13=v13; k14=v14; k15=v15; k16=v16; k17=v17; k18=v18; k19=v19; k20=v20; k21=v21; k22=v22; k23=v23; k24=v24; k25=v25; k26=v26; k27=v27; k28=v28; k29=v29; k30=v30; k31=v31; k32=v32; k33=v33; k34=v34; k35=v35; k36=v36; k37=v37; k38=v38; k39=v39; k40=v40; k41=v41; k42=v42; k43=v43; k44=v44; k45=v45; k46=v46; k47=v47; k48=v48; k49=v49; k50=v50; k51=v51; k52=v52; k53=v53; k54=v54; k55=v55; k56=v56; k57=v57; k58=v58; k59=v59; k60=v60; k61=v61; k62=v62; k63=v63; k64=v64; k65=v65; k66=v66; k67=v67; k68=v68; k69=v69; k70=v70; k71=v71; k72=v72; k73=v73; k74=v74; k75=v75; k76=v76; k77=v77; k78=v78; k79=v79; k80=v80; k81=v81; k82=v82; k83=v83; k84=v84; k85=v85; k86=v86; k87=v87; k88=v88; k89=v89; k90=v90; k91=v91; k92=v92; k93=v93; k94=v94; k95=v95; k96=v96; k97=v97; k98=v98; k99=v99; k100=v100; k101=v101; k102=v102; k103=v103; k104=v104; k105=v105; k106=v106; k107=v107; k108=v108; k109=v109; k110=v110; k111=v111; k112=v112; k113=v113; k114=v114; k115=v115; k116=v116; k117=v117; k118=v118; k119=v119; k120=v120; k121=v121; k122=v122; k123=v123; k124=v124; k125=v125; k126=v126; k127=v127; k128=v128; k129=v129; k130=v130; k131=v131; k132=v132; k133=v133; k134=v134; k135=v135; k136=v136; k137=v137; k138=v138; k139=v139; k140=v140; k141=v141; k142=v142; k143=v143; k144=v144; k145=v145; k146=v146; k147=v147; k148=v148; k149=v149; k150=v150; k151=v151; k152=v152; k153=v153; k154=v154; k155=v155; k156=v156; k157=v157; k158=v158; k159=v159; k160=v160; k161=v161; k162=v162; k163=v163; k164=v164; k165=v165; k166=v166; k167=v167; k168=v168; k169=v169; k170=v170; k171=v171; k172=v172; k173=v173; k174=v174; k175=v175; k176=v176; k177=v177; k178=v178; k179=v179; k180=v180; k181=v181; k182=v182; k183=v183; k184=v184; k185=v185; k186=v186; k187=v187; k188=v188; k189=v189; k190=v190; k191=v191; k192=v192; k193=v193; k194=v194; k195=v195; k196=v196; k197=v197; k198=v198; k199=v199; k200=v200; k201=v201; k202=v202; k203=v203; k204=v204; k205=v205; k206=v206; k207=v207; k208=v208; k209=v209; k210=v210; k211=v211; k212=v212; k213=v213; k214=v214; k215=v215; k216=v216; k217=v217; k218=v218; k219=v219; k220=v220; k221=v221; k222=v222; k223=v223; k224=v224; k225=v225; k226=v226; k227=v227; k228=v228; k229=v229; k230=v230; k231=v231; k232=v232; k233=v233; k234=v234; k235=v235; k236=v236; k237=v237; k238=v238; k239=v239; k240=v240; k241=v241; k242=v242; k243=v243; k244=v244; k245=v245; k246=v246; k247=v247; k248=v248; k249=v249; k250=v250; k251=v251; k252=v252; k253=v253; k254=v254; k255=v255; k256=v256; k257=v257; k258=v258; k259=v259; k260=v260; k261=v261; k262=v262; k263=v263; k264=v264; k265=v265; k266=v266; k267=v267; k268=v268; k269=v269; k270=v270; k271=v271; k272=v272; k273=v273; k274=v274; k275=v275; k276=v276; k277=v277; k278=v278; k279=v279; k280=v280; k281=v281; k282=v282; k283=v283; k284=v284; k285=v285; k286=v286; k287=v287; k288=v288; k289=v289; k290=v290; k291=v291; k292=v292; k293=v293; k294=v294; k295=v295; k296=v296; k297=v297; k298=v298; k299=v299; k300=v300; k301=v301; k302=v302; k303=v303; k304=v304; k305=v305; k306=v306; k307=v307; k308=v308; k309=v309; k310=v310; k311=v311; k312=v312; k313=v313; k314=v314; k315=v315; k316=v316; k317=v317; k318=v318; k319=v319; k320=v320; k321=v321; k322=v322; k323=v323; k324=v324; k325=v325; k326=v326; k327=v327; k328=v328; k329=v329; k330=v330; k331=v331; k332=v332; k333=v333; k334=v334; k335=v335; k336=v336; k337=v337; k338=v338; k339=v339; k340=v340; k341=v341; k342=v342; k343=v343; k344=v344; k345=v345; k346=v346; k347=v347; k348=v348; k349=v349; k350=v350; k351=v351; k352=v352; k353=v353; k354=v354; k355=v355; k356=v356; k357=v357; k358=v358; k359=v359; k360=v360; k361=v361; k362=v362; k363=v363; k364=v364; k365=v365; k366=v366; k367=v367; k368=v368; k369=v369; k370=v370; k371=v371; k372=v372; k373=v373; k374=v374; k375=v375; k376=v376; k377=v377; k378=v378; k379=v379; k380=v380; k381=v381; k382=v382; k383=v383; k384=v384; k385=v385; k386=v386; k387=v387; k388=v388; k389=v389; k390=v390; k391=v391; k392=v392; k393=v393; k394=v394; k395=v395; k396=v396; k397=v397; k398=v398; k399=v399; k400=v400; k401=v401; k402=v402; k403=v403; k404=v404; k405=v405; k406=v406; k407=v407; k408=v408; k409=v409; k410=v410; k411=v411; k412=v412; k413=v413; k414=v414; k415=v415; k416=v416; k417=v417; k418=v418; k419=v419; k420=v420; k421=v421; k422=v422; k423=v423; k424=v424; k425=v425; k426=v426; k427=v427; k428=v428; k429=v429; k430=v430; k431=v431; k432=v432; k433=v433; k434=v434; k435=v435; k436=v436; k437=v437; k438=v438; k439=v439; k440=v440; k441=v441; k442=v442; k443=v443; k444=v444; k445=v445; k446=v446; k447=v447; k448=v448; k449=v449; k450=v450; k451=v451; k452=v452; k453=v453; k454=v454; k455=v455; k456=v456; k457=v457; k458=v458; k459=v459; k460=v460; k461=v461; k462=v462; k463=v463; k464=v464; k465=v465; k466=v466; k467=v467; k468=v468; k469=v469; k470=v470; k471=v471; k472=v472; k473=v473; k474=v474; k475=v475; k476=v476; k477=v477; k478=v478; k479=v479; k480=v480; k481=v481; k482=v482; k483=v483; k484=v484; k485=v485; k486=v486; k487=v487; k488=v488; k489=v489; k490=v490; k491=v491; k492=v492; k493=v493; k494=v494; k495=v495; k496=v496; k497=v497; k498=v498; k499=v499; k500=v500; k501=v501; k502=v502; k503=v503; k504=v504; k505=v505; k506=v506; k507=v507; k508=v508; k509=v509; k510=v510; k511=v511; k512=v512; k513=v513; k514=v514; k515=v515; k516=v516; k517=v517; k518=v518; k519=v519; k520=v520; k521=v521; k522=v522; k523=v523; k524=v524; k525=v525; k526=v526; k527=v527; k528=v528; k529=v529; k530=v530; k531=v531; k532=v532; k533=v533; k534=v534; k535=v535; k536=v536; k537=v537; k538=v538; k539=v539; k540=v540; k541=v541; k542=v542; k543=v543; k544=v544; k545=v545; k546=v546; k547=v547; k548=v548; k549=v549; k550=v550; k551=v551; k552=v552; k553=v553; k554=v554; k555=v555; k556=v556; k557=v557; k558=v558; k559=v559; k560=v560; k561=v561; k562=v562; k563=v563; k564=v564; k565=v565; k566=v566; k567=v567; k568=v568; k569=v569; k570=v570; k571=v571; k572=v572; k573=v573; k574=v574; k575=v575; k576=v576; k577=v577; k578=v578; k579=v579; k580=v580; k581=v581; k582=v582; k583=v583; k584=v584; k585=v585; k586=v586; k587=v587; k588=v588; k589=v589; k590=v590; k591=v591; k592=v592; k593=v593; k594=v594; k595=v595; k596=v596; k597=v597; k598=v598; k599=v599; k600=v600; k601=v601; k602=v602; k603=v603; k604=v604; k605=v605; k606=v606; k607=v607; k608=v608; k609=v609; k610=v610; k611=v611; k612=v612; k613=v613; k614=v614; k615=v615; k616=v616; k617=v617; k618=v618; k619=v619; k620=v620; k621=v621; k622=v622; k623=v623; k624=v624; k625=v625; k626=v626; k627=v627; k628=v628; k629=v629; k630=v630; k631=v631; k632=v632; k633=v633; k634=v634; k635=v635; k636=v636; k637=v637; k638=v638; k639=v639; k640=v640; k641=v641; k642=v642; k643=v643; k644=v644; k645=v645; k646=v646; k647=v647; k648=v648; k649=v649; k650=v650; k651=v651; k652=v652; k653=v653; k654=v654; k655=v655; k656=v656; k657=v657; k658=v658; k659=v659; k660=v660; k661=v661; k662=v662; k663=v663; k664=v664; k665=v665; k666=v666; k667=v667; k668=v668; k669=v669; k670=v670; k671=v671; k672=v672; k673=v673; k674=v674; k675=v675; k676=v676; k677=v677; k678=v678; k679=v679; k680=v680; k681=v681; k682=v682; k683=v683; k684=v684; k685=v685; k686=v686; k687=v687; k688=v688; k689=v689; k690=v690; k691=v691; k692=v692; k693=v693; k694=v694; k695=v695; k696=v696; k697=v697; k698=v698; k699=v699; k700=v700; k701=v701; k702=v702; k703=v703; k704=v704; k705=v705; k706=v706; k707=v707; k708=v708; k709=v709; k710=v710; k711=v711; k712=v712; k713=v713; k714=v714; k715=v715; k716=v716; k717=v717; k718=v718; k719=v719; k720=v720; k721=v721; k722=v722; k723=v723; k724=v724; k725=v725; k726=v726; k727=v727; k728=v728; k729=v729; k730=v730; k731=v731; k732=v732; k733=v733; k734=v734; k735=v735; k736=v736; k737=v737; k738=v738; k739=v739; k740=v740;\n\n[Truncated — showing 8,192 of 11,065 bytes]",
"behavioralNote": "Accepted 1000 cookie pairs"
},
{
"id": "COOK-MULTI-HEADER",
"description": "Two separate Cookie headers — should be folded per RFC 6265 §5.4",
"category": "Cookies",
"rfcLevel": "NotApplicable",
"expected": "2xx with both cookies",
"verdict": "Pass",
"statusCode": 200,
"rawRequest": "GET /echo HTTP/1.1\r\nHost: 127.0.0.1:<PORT>\r\nCookie: a=1\r\nCookie: b=2\r\n\r\n",
"rawResponse": "HTTP/1.1 200 OK\r\nx-powered-by: Dart with package:shelf\r\ndate: <DATE>\r\ncontent-length: 41\r\nx-frame-options: SAMEORIGIN\r\ncontent-type: text/plain; charset=utf-8\r\nx-xss-protection: 1; mode=block\r\nx-content-type-options: nosniff\r\n\r\ncookie: a=1; b=2\r\nhost: 127.0.0.1:<PORT>\r\n",
"behavioralNote": "Both cookies echoed"
},
{
"id": "COOK-NUL",
"description": "NUL byte in cookie value — dangerous if preserved by parser",
"category": "Cookies",
"rfcLevel": "NotApplicable",
"expected": "400 (rejected) or 2xx without NUL",
"verdict": "Pass",
"rawRequest": "GET /echo HTTP/1.1\r\nHost: 127.0.0.1:<PORT>\r\nCookie: foo=\u0000bar\r\n\r\n"
},
{
"id": "COOK-OVERSIZED",
"description": "64KB Cookie header — tests header size limits on cookie data",
"category": "Cookies",
"rfcLevel": "NotApplicable",
"expected": "400/431 (rejected) or 2xx (survived)",
"verdict": "Pass",
"statusCode": 200,
"rawRequest": "GET /echo HTTP/1.1\r\nHost: 127.0.0.1:<PORT>\r\nCookie: big=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n\n[Truncated — showing 8,192 of 65,595 bytes]",
"rawResponse": "HTTP/1.1 200 OK\r\nx-powered-by: Dart with package:shelf\r\ndate: <DATE>\r\ncontent-length: 65573\r\nx-frame-options: SAMEORIGIN\r\ncontent-type: text/plain; charset=utf-8\r\nx-xss-protection: 1; mode=block\r\nx-content-type-options: nosniff\r\n\r\ncookie: big=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n\n[Truncated — showing 8,192 of 65,536 bytes]",
"behavioralNote": "Accepted 64KB cookie"
},
{
"id": "COOK-PARSED-BASIC",
"description": "Basic cookie parsed correctly by framework",
"category": "Cookies",
"rfcLevel": "NotApplicable",
"expected": "2xx with foo=bar in body",
"verdict": "Pass",
"statusCode": 200,
"rawRequest": "GET /cookie HTTP/1.1\r\nHost: 127.0.0.1:<PORT>\r\nCookie: foo=bar\r\n\r\n",
"rawResponse": "HTTP/1.1 200 OK\r\nx-powered-by: Dart with package:shelf\r\ndate: <DATE>\r\ncontent-length: 9\r\nx-frame-options: SAMEORIGIN\r\ncontent-type: text/plain; charset=utf-8\r\nx-xss-protection: 1; mode=block\r\nx-content-type-options: nosniff\r\n\r\nfoo=bar\r\n",
"behavioralNote": "All 1 cookie(s) parsed"
},
{
"id": "COOK-PARSED-EMPTY-VAL",
"description": "Cookie with empty value parsed without crash",
"category": "Cookies",
"rfcLevel": "NotApplicable",
"expected": "2xx (no crash)",
"verdict": "Pass",
"statusCode": 200,
"rawRequest": "GET /cookie HTTP/1.1\r\nHost: 127.0.0.1:<PORT>\r\nCookie: foo=\r\n\r\n",
"rawResponse": "HTTP/1.1 200 OK\r\nx-powered-by: Dart with package:shelf\r\ndate: <DATE>\r\ncontent-length: 6\r\nx-frame-options: SAMEORIGIN\r\ncontent-type: text/plain; charset=utf-8\r\nx-xss-protection: 1; mode=block\r\nx-content-type-options: nosniff\r\n\r\nfoo=\r\n",
"behavioralNote": "Parsed foo= (empty value)"
},
{
"id": "COOK-PARSED-MULTI",
"description": "Multiple cookies parsed correctly by framework",
"category": "Cookies",
"rfcLevel": "NotApplicable",
"expected": "2xx with a=1, b=2, c=3 in body",
"verdict": "Pass",
"statusCode": 200,
"rawRequest": "GET /cookie HTTP/1.1\r\nHost: 127.0.0.1:<PORT>\r\nCookie: a=1; b=2; c=3\r\n\r\n",
"rawResponse": "HTTP/1.1 200 OK\r\nx-powered-by: Dart with package:shelf\r\ndate: <DATE>\r\ncontent-length: 15\r\nx-frame-options: SAMEORIGIN\r\ncontent-type: text/plain; charset=utf-8\r\nx-xss-protection: 1; mode=block\r\nx-content-type-options: nosniff\r\n\r\na=1\r\nb=2\r\nc=3\r\n",
"behavioralNote": "All 3 cookie(s) parsed"
},
{
"id": "COOK-PARSED-SPECIAL",
"description": "Cookies with spaces and = in values — tests framework parser edge cases",
"category": "Cookies",
"rfcLevel": "NotApplicable",
"expected": "2xx (no crash)",
"verdict": "Pass",
"statusCode": 200,
"rawRequest": "GET /cookie HTTP/1.1\r\nHost: 127.0.0.1:<PORT>\r\nCookie: a=hello world; b=x=y\r\n\r\n",
"rawResponse": "HTTP/1.1 200 OK\r\nx-powered-by: Dart with package:shelf\r\ndate: <DATE>\r\ncontent-length: 22\r\nx-frame-options: SAMEORIGIN\r\ncontent-type: text/plain; charset=utf-8\r\nx-xss-protection: 1; mode=block\r\nx-content-type-options: nosniff\r\n\r\na=hello world\r\nb=x=y\r\n",
"behavioralNote": "Both cookies parsed"
}
]