[{"data":1,"prerenderedAt":2013},["ShallowReactive",2],{"navigation":3,"\u002Fintegrations\u002Fweb\u002Fntex":335,"\u002Fintegrations\u002Fweb\u002Fntex-surround":2008},[4,27,73,95,121,135,305,331],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":26},"Getting started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,14,18,22],{"title":11,"path":12,"stem":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction",{"title":15,"path":16,"stem":17},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":19,"path":20,"stem":21},"Quick start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start",{"title":23,"path":24,"stem":25},"MSRV","\u002Fgetting-started\u002Fmsrv","1.getting-started\u002F9.msrv",false,{"title":28,"icon":29,"path":30,"stem":31,"children":32,"page":26},"Schemas","i-lucide-shapes","\u002Fschemas","2.schemas",[33,37,41,45,49,53,57,61,65,69],{"title":34,"path":35,"stem":36},"Strings","\u002Fschemas\u002Fstrings","2.schemas\u002F1.strings",{"title":38,"path":39,"stem":40},"Custom rules","\u002Fschemas\u002Frules","2.schemas\u002F10.rules",{"title":42,"path":43,"stem":44},"Numbers","\u002Fschemas\u002Fnumbers","2.schemas\u002F2.numbers",{"title":46,"path":47,"stem":48},"Booleans, literals and enums","\u002Fschemas\u002Fprimitives","2.schemas\u002F3.primitives",{"title":50,"path":51,"stem":52},"Dates and times","\u002Fschemas\u002Fdates","2.schemas\u002F4.dates",{"title":54,"path":55,"stem":56},"Collections","\u002Fschemas\u002Fcollections","2.schemas\u002F5.collections",{"title":58,"path":59,"stem":60},"Dynamic objects","\u002Fschemas\u002Fobjects","2.schemas\u002F6.objects",{"title":62,"path":63,"stem":64},"Modifiers","\u002Fschemas\u002Fmodifiers","2.schemas\u002F7.modifiers",{"title":66,"path":67,"stem":68},"Combinators","\u002Fschemas\u002Fcombinators","2.schemas\u002F8.combinators",{"title":70,"path":71,"stem":72},"Other types","\u002Fschemas\u002Fspecial-types","2.schemas\u002F9.special-types",{"title":74,"icon":75,"path":76,"stem":77,"children":78,"page":26},"Structs","i-lucide-braces","\u002Fstructs","3.structs",[79,83,87,91],{"title":80,"path":81,"stem":82},"schema! macro","\u002Fstructs\u002Fschema-macro","3.structs\u002F1.schema-macro",{"title":84,"path":85,"stem":86},"#[derive(Validate)]","\u002Fstructs\u002Fderive","3.structs\u002F2.derive",{"title":88,"path":89,"stem":90},"Parse vs validate","\u002Fstructs\u002Fparse-vs-validate","3.structs\u002F3.parse-vs-validate",{"title":92,"path":93,"stem":94},"Lenient parsing","\u002Fstructs\u002Flenient","3.structs\u002F4.lenient",{"title":96,"icon":97,"path":98,"stem":99,"children":100,"page":26},"Errors","i-lucide-triangle-alert","\u002Ferrors","4.errors",[101,105,109,113,117],{"title":102,"path":103,"stem":104},"Error model","\u002Ferrors\u002Foverview","4.errors\u002F1.overview",{"title":106,"path":107,"stem":108},"Issue codes","\u002Ferrors\u002Fissue-codes","4.errors\u002F2.issue-codes",{"title":110,"path":111,"stem":112},"Formatting","\u002Ferrors\u002Fformatting","4.errors\u002F3.formatting",{"title":114,"path":115,"stem":116},"Custom messages","\u002Ferrors\u002Fcustom-messages","4.errors\u002F4.custom-messages",{"title":118,"path":119,"stem":120},"Translations","\u002Ferrors\u002Fi18n","4.errors\u002F5.i18n",{"title":122,"icon":123,"path":124,"stem":125,"children":126,"page":26},"OpenAPI","i-lucide-file-json","\u002Fopenapi","5.openapi",[127,131],{"title":128,"path":129,"stem":130},"JSON Schema and OpenAPI","\u002Fopenapi\u002Fjson-schema","5.openapi\u002F1.json-schema",{"title":132,"path":133,"stem":134},"Schema diff","\u002Fopenapi\u002Fdiff","5.openapi\u002F2.diff",{"title":136,"icon":137,"path":138,"stem":139,"children":140,"page":26},"Integrations","i-lucide-plug","\u002Fintegrations","6.integrations",[141,191,209,223,245,259,273,291],{"title":142,"icon":143,"path":144,"stem":145,"children":146,"page":26},"Web frameworks","i-lucide-globe","\u002Fintegrations\u002Fweb","6.integrations\u002F1.web",[147,151,155,159,163,167,171,175,179,183,187],{"title":148,"path":149,"stem":150},"Web adapters overview","\u002Fintegrations\u002Fweb\u002Foverview","6.integrations\u002F1.web\u002F01.overview",{"title":152,"path":153,"stem":154},"vld-axum","\u002Fintegrations\u002Fweb\u002Faxum","6.integrations\u002F1.web\u002F02.axum",{"title":156,"path":157,"stem":158},"vld-actix","\u002Fintegrations\u002Fweb\u002Factix","6.integrations\u002F1.web\u002F03.actix",{"title":160,"path":161,"stem":162},"vld-ntex","\u002Fintegrations\u002Fweb\u002Fntex","6.integrations\u002F1.web\u002F04.ntex",{"title":164,"path":165,"stem":166},"vld-poem","\u002Fintegrations\u002Fweb\u002Fpoem","6.integrations\u002F1.web\u002F05.poem",{"title":168,"path":169,"stem":170},"vld-rama","\u002Fintegrations\u002Fweb\u002Frama","6.integrations\u002F1.web\u002F06.rama",{"title":172,"path":173,"stem":174},"vld-rocket","\u002Fintegrations\u002Fweb\u002Frocket","6.integrations\u002F1.web\u002F07.rocket",{"title":176,"path":177,"stem":178},"vld-salvo","\u002Fintegrations\u002Fweb\u002Fsalvo","6.integrations\u002F1.web\u002F08.salvo",{"title":180,"path":181,"stem":182},"vld-tower","\u002Fintegrations\u002Fweb\u002Ftower","6.integrations\u002F1.web\u002F09.tower",{"title":184,"path":185,"stem":186},"vld-warp","\u002Fintegrations\u002Fweb\u002Fwarp","6.integrations\u002F1.web\u002F10.warp",{"title":188,"path":189,"stem":190},"vld-tonic","\u002Fintegrations\u002Fweb\u002Ftonic","6.integrations\u002F1.web\u002F11.tonic",{"title":192,"icon":193,"path":194,"stem":195,"children":196,"page":26},"OpenAPI and JSON Schema","i-lucide-file-code","\u002Fintegrations\u002Fopenapi","6.integrations\u002F2.openapi",[197,201,205],{"title":198,"path":199,"stem":200},"vld-utoipa","\u002Fintegrations\u002Fopenapi\u002Futoipa","6.integrations\u002F2.openapi\u002F1.utoipa",{"title":202,"path":203,"stem":204},"vld-schemars","\u002Fintegrations\u002Fopenapi\u002Fschemars","6.integrations\u002F2.openapi\u002F2.schemars",{"title":206,"path":207,"stem":208},"vld-aide","\u002Fintegrations\u002Fopenapi\u002Faide","6.integrations\u002F2.openapi\u002F3.aide",{"title":210,"icon":211,"path":212,"stem":213,"children":214,"page":26},"Codegen and test data","i-lucide-wand","\u002Fintegrations\u002Fcodegen","6.integrations\u002F3.codegen",[215,219],{"title":216,"path":217,"stem":218},"vld-ts","\u002Fintegrations\u002Fcodegen\u002Fts","6.integrations\u002F3.codegen\u002F1.ts",{"title":220,"path":221,"stem":222},"vld-fake","\u002Fintegrations\u002Fcodegen\u002Ffake","6.integrations\u002F3.codegen\u002F2.fake",{"title":224,"icon":225,"path":226,"stem":227,"children":228,"page":26},"Databases","i-lucide-database","\u002Fintegrations\u002Fdatabase","6.integrations\u002F4.database",[229,233,237,241],{"title":230,"path":231,"stem":232},"vld-sqlx","\u002Fintegrations\u002Fdatabase\u002Fsqlx","6.integrations\u002F4.database\u002F1.sqlx",{"title":234,"path":235,"stem":236},"vld-diesel","\u002Fintegrations\u002Fdatabase\u002Fdiesel","6.integrations\u002F4.database\u002F2.diesel",{"title":238,"path":239,"stem":240},"vld-sea","\u002Fintegrations\u002Fdatabase\u002Fsea-orm","6.integrations\u002F4.database\u002F3.sea-orm",{"title":242,"path":243,"stem":244},"vld-surrealdb","\u002Fintegrations\u002Fdatabase\u002Fsurrealdb","6.integrations\u002F4.database\u002F4.surrealdb",{"title":246,"icon":247,"path":248,"stem":249,"children":250,"page":26},"Messaging","i-lucide-mail","\u002Fintegrations\u002Fmessaging","6.integrations\u002F5.messaging",[251,255],{"title":252,"path":253,"stem":254},"vld-redis","\u002Fintegrations\u002Fmessaging\u002Fredis","6.integrations\u002F5.messaging\u002F1.redis",{"title":256,"path":257,"stem":258},"vld-lapin","\u002Fintegrations\u002Fmessaging\u002Flapin","6.integrations\u002F5.messaging\u002F2.lapin",{"title":260,"icon":261,"path":262,"stem":263,"children":264,"page":26},"Config and CLI","i-lucide-terminal","\u002Fintegrations\u002Fconfig-cli","6.integrations\u002F6.config-cli",[265,269],{"title":266,"path":267,"stem":268},"vld-config","\u002Fintegrations\u002Fconfig-cli\u002Fconfig","6.integrations\u002F6.config-cli\u002F1.config",{"title":270,"path":271,"stem":272},"vld-clap","\u002Fintegrations\u002Fconfig-cli\u002Fclap","6.integrations\u002F6.config-cli\u002F2.clap",{"title":274,"icon":275,"path":276,"stem":277,"children":278,"page":26},"UI frameworks","i-lucide-monitor","\u002Fintegrations\u002Fui","6.integrations\u002F7.ui",[279,283,287],{"title":280,"path":281,"stem":282},"vld-dioxus","\u002Fintegrations\u002Fui\u002Fdioxus","6.integrations\u002F7.ui\u002F1.dioxus",{"title":284,"path":285,"stem":286},"vld-leptos","\u002Fintegrations\u002Fui\u002Fleptos","6.integrations\u002F7.ui\u002F2.leptos",{"title":288,"path":289,"stem":290},"vld-tauri","\u002Fintegrations\u002Fui\u002Ftauri","6.integrations\u002F7.ui\u002F3.tauri",{"title":292,"icon":293,"path":294,"stem":295,"children":296,"page":26},"Shared crates","i-lucide-package","\u002Fintegrations\u002Fshared","6.integrations\u002F8.shared",[297,301],{"title":298,"path":299,"stem":300},"vld-http-common","\u002Fintegrations\u002Fshared\u002Fhttp-common","6.integrations\u002F8.shared\u002F1.http-common",{"title":302,"path":303,"stem":304},"vld-integration-common","\u002Fintegrations\u002Fshared\u002Fintegration-common","6.integrations\u002F8.shared\u002F2.integration-common",{"title":306,"icon":307,"path":308,"stem":309,"children":310,"page":26},"Guides","i-lucide-book-open","\u002Fguides","7.guides",[311,315,319,323,327],{"title":312,"path":313,"stem":314},"Migration","\u002Fguides\u002Fmigration","7.guides\u002F1.migration",{"title":316,"path":317,"stem":318},"Security notes","\u002Fguides\u002Fsecurity","7.guides\u002F2.security",{"title":320,"path":321,"stem":322},"Performance","\u002Fguides\u002Fperformance","7.guides\u002F3.performance",{"title":324,"path":325,"stem":326},"Contributing","\u002Fguides\u002Fcontributing","7.guides\u002F4.contributing",{"title":328,"path":329,"stem":330},"FAQ","\u002Fguides\u002Ffaq","7.guides\u002F5.faq",{"title":332,"path":333,"stem":334},"Changelog","\u002Fchangelog","9.changelog",{"id":336,"title":160,"body":337,"description":1994,"extension":1995,"links":1996,"meta":2005,"navigation":764,"path":161,"seo":2006,"stem":162,"__hash__":2007},"docs\u002F6.integrations\u002F1.web\u002F04.ntex.md",{"type":338,"value":339,"toc":1986},"minimark",[340,354,359,471,474,572,576,650,661,685,689,1640,1650,1654,1806,1810,1828,1946,1950,1982],[341,342,343,344,348,349,353],"p",{},"Drop-in replacements for ",[345,346,347],"code",{},"ntex::web::types::{Json, Query, Path, Form}",", plus header and cookie extractors. Shared behaviour (status codes, error body, coercion, header\u002Fcookie rules) is in the ",[350,351,352],"a",{"href":149},"web adapters overview",".",[355,356,358],"h2",{"id":357},"install","Install",[360,361,367],"pre",{"className":362,"code":363,"filename":364,"language":365,"meta":366,"style":366},"language-toml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","[dependencies]\nvld = \"0.5\"\nvld-ntex = \"0.5\"                                   # ntex 4\nntex = { version = \"4\", features = [\"tokio\"] }\n","Cargo.toml","toml","",[345,368,369,385,405,424],{"__ignoreMap":366},[370,371,374,378,382],"span",{"class":372,"line":373},"line",1,[370,375,377],{"class":376},"sMK4o","[",[370,379,381],{"class":380},"sBMFI","dependencies",[370,383,384],{"class":376},"]\n",[370,386,388,392,395,398,402],{"class":372,"line":387},2,[370,389,391],{"class":390},"sTEyZ","vld ",[370,393,394],{"class":376},"=",[370,396,397],{"class":376}," \"",[370,399,401],{"class":400},"sfazB","0.5",[370,403,404],{"class":376},"\"\n",[370,406,408,411,413,415,417,420],{"class":372,"line":407},3,[370,409,410],{"class":390},"vld-ntex ",[370,412,394],{"class":376},[370,414,397],{"class":376},[370,416,401],{"class":400},[370,418,419],{"class":376},"\"",[370,421,423],{"class":422},"sHwdD","                                   # ntex 4\n",[370,425,427,430,432,435,438,440,442,445,447,450,453,455,458,460,463,465,468],{"class":372,"line":426},4,[370,428,429],{"class":390},"ntex ",[370,431,394],{"class":376},[370,433,434],{"class":376}," {",[370,436,437],{"class":390}," version ",[370,439,394],{"class":376},[370,441,397],{"class":376},[370,443,444],{"class":400},"4",[370,446,419],{"class":376},[370,448,449],{"class":376},",",[370,451,452],{"class":390}," features ",[370,454,394],{"class":376},[370,456,457],{"class":376}," [",[370,459,419],{"class":376},[370,461,462],{"class":400},"tokio",[370,464,419],{"class":376},[370,466,467],{"class":376},"]",[370,469,470],{"class":376}," }\n",[341,472,473],{},"For ntex 3:",[360,475,477],{"className":362,"code":476,"filename":364,"language":365,"meta":366,"style":366},"[dependencies]\nvld-ntex = { version = \"0.5\", default-features = false, features = [\"ntex-3\"] }\nntex = { version = \"3\", features = [\"tokio\"] }\n",[345,478,479,487,535],{"__ignoreMap":366},[370,480,481,483,485],{"class":372,"line":373},[370,482,377],{"class":376},[370,484,381],{"class":380},[370,486,384],{"class":376},[370,488,489,491,493,495,497,499,501,503,505,507,510,512,516,518,520,522,524,526,529,531,533],{"class":372,"line":387},[370,490,410],{"class":390},[370,492,394],{"class":376},[370,494,434],{"class":376},[370,496,437],{"class":390},[370,498,394],{"class":376},[370,500,397],{"class":376},[370,502,401],{"class":400},[370,504,419],{"class":376},[370,506,449],{"class":376},[370,508,509],{"class":390}," default-features ",[370,511,394],{"class":376},[370,513,515],{"class":514},"sfNiH"," false",[370,517,449],{"class":376},[370,519,452],{"class":390},[370,521,394],{"class":376},[370,523,457],{"class":376},[370,525,419],{"class":376},[370,527,528],{"class":400},"ntex-3",[370,530,419],{"class":376},[370,532,467],{"class":376},[370,534,470],{"class":376},[370,536,537,539,541,543,545,547,549,552,554,556,558,560,562,564,566,568,570],{"class":372,"line":407},[370,538,429],{"class":390},[370,540,394],{"class":376},[370,542,434],{"class":376},[370,544,437],{"class":390},[370,546,394],{"class":376},[370,548,397],{"class":376},[370,550,551],{"class":400},"3",[370,553,419],{"class":376},[370,555,449],{"class":376},[370,557,452],{"class":390},[370,559,394],{"class":376},[370,561,457],{"class":376},[370,563,419],{"class":376},[370,565,462],{"class":400},[370,567,419],{"class":376},[370,569,467],{"class":376},[370,571,470],{"class":376},[355,573,575],{"id":574},"features","Features",[577,578,579,595],"table",{},[580,581,582],"thead",{},[583,584,585,589,592],"tr",{},[586,587,588],"th",{},"Feature",[586,590,591],{},"Default",[586,593,594],{},"Description",[596,597,598,612,624],"tbody",{},[583,599,600,606,609],{},[601,602,603],"td",{},[345,604,605],{},"ntex-4",[601,607,608],{},"yes",[601,610,611],{},"Build against ntex 4",[583,613,614,618,621],{},[601,615,616],{},[345,617,528],{},[601,619,620],{},"no",[601,622,623],{},"Build against ntex 3 (disable default features)",[583,625,626,631,633],{},[601,627,628],{},[345,629,630],{},"compress",[601,632,620],{},[601,634,635,636,639,640,639,643,646,647,649],{},"Decode ",[345,637,638],{},"Content-Encoding: gzip"," \u002F ",[345,641,642],{},"deflate",[345,644,645],{},"br"," request bodies (enables ntex's ",[345,648,630],{},")",[341,651,652,653,639,655,657,658,353],{},"Enable exactly one of ",[345,654,528],{},[345,656,605],{},"; both or neither is a compile error. The selected crate is re-exported as ",[345,659,660],{},"vld_ntex::ntex",[341,662,663,664,668,669,671,672,675,676,678,679,682,683,353],{},"MSRV: ",[665,666,667],"strong",{},"1.97"," with ",[345,670,605],{}," (the crate's declared ",[345,673,674],{},"rust-version","); ",[345,677,528],{}," builds on 1.88 with ",[345,680,681],{},"--ignore-rust-version",". See ",[350,684,23],{"href":24},[355,686,688],{"id":687},"example","Example",[360,690,695],{"className":691,"code":692,"filename":693,"language":694,"meta":366,"style":366},"language-rust shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","use ntex::web::{self, App, HttpResponse, HttpServer};\nuse vld_ntex::{VldJson, VldPath, VldQuery};\n\nvld::schema! {\n    #[derive(Debug)]\n    pub struct CreateUser {\n        pub name: String => vld::string().min(2).max(50),\n        pub email: String => vld::string().email(),\n    }\n}\n\nvld::schema! {\n    #[derive(Debug)]\n    pub struct UserPath {\n        pub id: i64 => vld::number().int().min(1),\n    }\n}\n\nvld::schema! {\n    #[derive(Debug)]\n    pub struct Search {\n        pub q: String => vld::string().min(1),\n    }\n}\n\nasync fn create_user(user: VldJson\u003CCreateUser>) -> HttpResponse {\n    HttpResponse::Created().body(format!(\"created {}\", user.name))\n}\n\nasync fn get_user(path: VldPath\u003CUserPath>) -> HttpResponse {\n    HttpResponse::Ok().body(format!(\"user #{}\", path.id))\n}\n\nasync fn search(q: VldQuery\u003CSearch>) -> HttpResponse {\n    HttpResponse::Ok().body(format!(\"search: {}\", q.q))\n}\n\n#[ntex::main]\nasync fn main() -> std::io::Result\u003C()> {\n    let app = || {\n        App::new()\n            .route(\"\u002Fusers\", web::post().to(create_user))\n            .route(\"\u002Fusers\u002F{id}\", web::get().to(get_user))\n            .route(\"\u002Fsearch\", web::get().to(search))\n    };\n\n    \u002F\u002F ntex 4\n    HttpServer::new(async move |_| app())\n        .bind(\"127.0.0.1:8080\", ntex::SharedCfg::default())?\n        .run()\n        .await\n    \u002F\u002F ntex 3: HttpServer::new(async move || app()).bind(\"127.0.0.1:8080\")?.run().await\n}\n","main.rs","rust",[345,696,697,736,760,766,780,798,813,864,892,898,904,909,920,933,945,983,988,993,998,1009,1022,1034,1064,1069,1074,1079,1117,1161,1166,1171,1203,1242,1247,1252,1284,1320,1325,1330,1346,1379,1395,1409,1449,1491,1526,1532,1537,1543,1575,1610,1620,1629,1635],{"__ignoreMap":366},[370,698,699,703,706,709,712,715,718,720,723,725,728,730,733],{"class":372,"line":373},[370,700,702],{"class":701},"sbssI","use",[370,704,705],{"class":380}," ntex",[370,707,708],{"class":376},"::",[370,710,711],{"class":380},"web",[370,713,714],{"class":376},"::{",[370,716,717],{"class":390},"self",[370,719,449],{"class":376},[370,721,722],{"class":380}," App",[370,724,449],{"class":376},[370,726,727],{"class":380}," HttpResponse",[370,729,449],{"class":376},[370,731,732],{"class":380}," HttpServer",[370,734,735],{"class":376},"};\n",[370,737,738,740,743,745,748,750,753,755,758],{"class":372,"line":387},[370,739,702],{"class":701},[370,741,742],{"class":380}," vld_ntex",[370,744,714],{"class":376},[370,746,747],{"class":380},"VldJson",[370,749,449],{"class":376},[370,751,752],{"class":380}," VldPath",[370,754,449],{"class":376},[370,756,757],{"class":380}," VldQuery",[370,759,735],{"class":376},[370,761,762],{"class":372,"line":407},[370,763,765],{"emptyLinePlaceholder":764},true,"\n",[370,767,768,771,773,777],{"class":372,"line":426},[370,769,770],{"class":380},"vld",[370,772,708],{"class":376},[370,774,776],{"class":775},"s2Zo4","schema!",[370,778,779],{"class":376}," {\n",[370,781,783,786,789,792,795],{"class":372,"line":782},5,[370,784,785],{"class":376},"    #[",[370,787,788],{"class":390},"derive",[370,790,791],{"class":376},"(",[370,793,794],{"class":380},"Debug",[370,796,797],{"class":376},")]\n",[370,799,801,805,808,811],{"class":372,"line":800},6,[370,802,804],{"class":803},"spNyl","    pub",[370,806,807],{"class":803}," struct",[370,809,810],{"class":380}," CreateUser",[370,812,779],{"class":376},[370,814,816,819,822,825,828,831,834,836,839,842,845,847,850,853,856,858,861],{"class":372,"line":815},7,[370,817,818],{"class":803},"        pub",[370,820,821],{"class":390}," name",[370,823,824],{"class":376},":",[370,826,827],{"class":380}," String",[370,829,830],{"class":376}," =>",[370,832,833],{"class":380}," vld",[370,835,708],{"class":376},[370,837,838],{"class":775},"string",[370,840,841],{"class":376},"().",[370,843,844],{"class":775},"min",[370,846,791],{"class":376},[370,848,849],{"class":701},"2",[370,851,852],{"class":376},").",[370,854,855],{"class":775},"max",[370,857,791],{"class":376},[370,859,860],{"class":701},"50",[370,862,863],{"class":376},"),\n",[370,865,867,869,872,874,876,878,880,882,884,886,889],{"class":372,"line":866},8,[370,868,818],{"class":803},[370,870,871],{"class":390}," email",[370,873,824],{"class":376},[370,875,827],{"class":380},[370,877,830],{"class":376},[370,879,833],{"class":380},[370,881,708],{"class":376},[370,883,838],{"class":775},[370,885,841],{"class":376},[370,887,888],{"class":775},"email",[370,890,891],{"class":376},"(),\n",[370,893,895],{"class":372,"line":894},9,[370,896,897],{"class":376},"    }\n",[370,899,901],{"class":372,"line":900},10,[370,902,903],{"class":376},"}\n",[370,905,907],{"class":372,"line":906},11,[370,908,765],{"emptyLinePlaceholder":764},[370,910,912,914,916,918],{"class":372,"line":911},12,[370,913,770],{"class":380},[370,915,708],{"class":376},[370,917,776],{"class":775},[370,919,779],{"class":376},[370,921,923,925,927,929,931],{"class":372,"line":922},13,[370,924,785],{"class":376},[370,926,788],{"class":390},[370,928,791],{"class":376},[370,930,794],{"class":380},[370,932,797],{"class":376},[370,934,936,938,940,943],{"class":372,"line":935},14,[370,937,804],{"class":803},[370,939,807],{"class":803},[370,941,942],{"class":380}," UserPath",[370,944,779],{"class":376},[370,946,948,950,953,955,958,960,962,964,967,969,972,974,976,978,981],{"class":372,"line":947},15,[370,949,818],{"class":803},[370,951,952],{"class":390}," id",[370,954,824],{"class":376},[370,956,957],{"class":380}," i64",[370,959,830],{"class":376},[370,961,833],{"class":380},[370,963,708],{"class":376},[370,965,966],{"class":775},"number",[370,968,841],{"class":376},[370,970,971],{"class":775},"int",[370,973,841],{"class":376},[370,975,844],{"class":775},[370,977,791],{"class":376},[370,979,980],{"class":701},"1",[370,982,863],{"class":376},[370,984,986],{"class":372,"line":985},16,[370,987,897],{"class":376},[370,989,991],{"class":372,"line":990},17,[370,992,903],{"class":376},[370,994,996],{"class":372,"line":995},18,[370,997,765],{"emptyLinePlaceholder":764},[370,999,1001,1003,1005,1007],{"class":372,"line":1000},19,[370,1002,770],{"class":380},[370,1004,708],{"class":376},[370,1006,776],{"class":775},[370,1008,779],{"class":376},[370,1010,1012,1014,1016,1018,1020],{"class":372,"line":1011},20,[370,1013,785],{"class":376},[370,1015,788],{"class":390},[370,1017,791],{"class":376},[370,1019,794],{"class":380},[370,1021,797],{"class":376},[370,1023,1025,1027,1029,1032],{"class":372,"line":1024},21,[370,1026,804],{"class":803},[370,1028,807],{"class":803},[370,1030,1031],{"class":380}," Search",[370,1033,779],{"class":376},[370,1035,1037,1039,1042,1044,1046,1048,1050,1052,1054,1056,1058,1060,1062],{"class":372,"line":1036},22,[370,1038,818],{"class":803},[370,1040,1041],{"class":390}," q",[370,1043,824],{"class":376},[370,1045,827],{"class":380},[370,1047,830],{"class":376},[370,1049,833],{"class":380},[370,1051,708],{"class":376},[370,1053,838],{"class":775},[370,1055,841],{"class":376},[370,1057,844],{"class":775},[370,1059,791],{"class":376},[370,1061,980],{"class":701},[370,1063,863],{"class":376},[370,1065,1067],{"class":372,"line":1066},23,[370,1068,897],{"class":376},[370,1070,1072],{"class":372,"line":1071},24,[370,1073,903],{"class":376},[370,1075,1077],{"class":372,"line":1076},25,[370,1078,765],{"emptyLinePlaceholder":764},[370,1080,1082,1085,1088,1091,1093,1096,1098,1101,1104,1107,1110,1113,1115],{"class":372,"line":1081},26,[370,1083,1084],{"class":701},"async",[370,1086,1087],{"class":701}," fn",[370,1089,1090],{"class":775}," create_user",[370,1092,791],{"class":376},[370,1094,1095],{"class":390},"user",[370,1097,824],{"class":376},[370,1099,1100],{"class":380}," VldJson",[370,1102,1103],{"class":376},"\u003C",[370,1105,1106],{"class":380},"CreateUser",[370,1108,1109],{"class":376},">)",[370,1111,1112],{"class":376}," ->",[370,1114,727],{"class":380},[370,1116,779],{"class":376},[370,1118,1120,1123,1125,1128,1130,1133,1135,1138,1140,1142,1145,1148,1150,1153,1155,1158],{"class":372,"line":1119},27,[370,1121,1122],{"class":380},"    HttpResponse",[370,1124,708],{"class":376},[370,1126,1127],{"class":775},"Created",[370,1129,841],{"class":376},[370,1131,1132],{"class":775},"body",[370,1134,791],{"class":376},[370,1136,1137],{"class":775},"format!",[370,1139,791],{"class":376},[370,1141,419],{"class":376},[370,1143,1144],{"class":400},"created ",[370,1146,1147],{"class":376},"{}\"",[370,1149,449],{"class":376},[370,1151,1152],{"class":390}," user",[370,1154,353],{"class":376},[370,1156,1157],{"class":390},"name",[370,1159,1160],{"class":376},"))\n",[370,1162,1164],{"class":372,"line":1163},28,[370,1165,903],{"class":376},[370,1167,1169],{"class":372,"line":1168},29,[370,1170,765],{"emptyLinePlaceholder":764},[370,1172,1174,1176,1178,1181,1183,1186,1188,1190,1192,1195,1197,1199,1201],{"class":372,"line":1173},30,[370,1175,1084],{"class":701},[370,1177,1087],{"class":701},[370,1179,1180],{"class":775}," get_user",[370,1182,791],{"class":376},[370,1184,1185],{"class":390},"path",[370,1187,824],{"class":376},[370,1189,752],{"class":380},[370,1191,1103],{"class":376},[370,1193,1194],{"class":380},"UserPath",[370,1196,1109],{"class":376},[370,1198,1112],{"class":376},[370,1200,727],{"class":380},[370,1202,779],{"class":376},[370,1204,1206,1208,1210,1213,1215,1217,1219,1221,1223,1225,1228,1230,1232,1235,1237,1240],{"class":372,"line":1205},31,[370,1207,1122],{"class":380},[370,1209,708],{"class":376},[370,1211,1212],{"class":380},"Ok",[370,1214,841],{"class":376},[370,1216,1132],{"class":775},[370,1218,791],{"class":376},[370,1220,1137],{"class":775},[370,1222,791],{"class":376},[370,1224,419],{"class":376},[370,1226,1227],{"class":400},"user #",[370,1229,1147],{"class":376},[370,1231,449],{"class":376},[370,1233,1234],{"class":390}," path",[370,1236,353],{"class":376},[370,1238,1239],{"class":390},"id",[370,1241,1160],{"class":376},[370,1243,1245],{"class":372,"line":1244},32,[370,1246,903],{"class":376},[370,1248,1250],{"class":372,"line":1249},33,[370,1251,765],{"emptyLinePlaceholder":764},[370,1253,1255,1257,1259,1262,1264,1267,1269,1271,1273,1276,1278,1280,1282],{"class":372,"line":1254},34,[370,1256,1084],{"class":701},[370,1258,1087],{"class":701},[370,1260,1261],{"class":775}," search",[370,1263,791],{"class":376},[370,1265,1266],{"class":390},"q",[370,1268,824],{"class":376},[370,1270,757],{"class":380},[370,1272,1103],{"class":376},[370,1274,1275],{"class":380},"Search",[370,1277,1109],{"class":376},[370,1279,1112],{"class":376},[370,1281,727],{"class":380},[370,1283,779],{"class":376},[370,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1308,1310,1312,1314,1316,1318],{"class":372,"line":1286},35,[370,1288,1122],{"class":380},[370,1290,708],{"class":376},[370,1292,1212],{"class":380},[370,1294,841],{"class":376},[370,1296,1132],{"class":775},[370,1298,791],{"class":376},[370,1300,1137],{"class":775},[370,1302,791],{"class":376},[370,1304,419],{"class":376},[370,1306,1307],{"class":400},"search: ",[370,1309,1147],{"class":376},[370,1311,449],{"class":376},[370,1313,1041],{"class":390},[370,1315,353],{"class":376},[370,1317,1266],{"class":390},[370,1319,1160],{"class":376},[370,1321,1323],{"class":372,"line":1322},36,[370,1324,903],{"class":376},[370,1326,1328],{"class":372,"line":1327},37,[370,1329,765],{"emptyLinePlaceholder":764},[370,1331,1333,1336,1339,1341,1344],{"class":372,"line":1332},38,[370,1334,1335],{"class":376},"#[",[370,1337,1338],{"class":390},"ntex",[370,1340,708],{"class":376},[370,1342,1343],{"class":390},"main",[370,1345,384],{"class":376},[370,1347,1349,1351,1353,1356,1359,1361,1364,1366,1369,1371,1374,1377],{"class":372,"line":1348},39,[370,1350,1084],{"class":701},[370,1352,1087],{"class":701},[370,1354,1355],{"class":775}," main",[370,1357,1358],{"class":376},"()",[370,1360,1112],{"class":376},[370,1362,1363],{"class":380}," std",[370,1365,708],{"class":376},[370,1367,1368],{"class":380},"io",[370,1370,708],{"class":376},[370,1372,1373],{"class":380},"Result",[370,1375,1376],{"class":376},"\u003C()>",[370,1378,779],{"class":376},[370,1380,1382,1385,1388,1390,1393],{"class":372,"line":1381},40,[370,1383,1384],{"class":803},"    let",[370,1386,1387],{"class":390}," app ",[370,1389,394],{"class":376},[370,1391,1392],{"class":376}," ||",[370,1394,779],{"class":376},[370,1396,1398,1401,1403,1406],{"class":372,"line":1397},41,[370,1399,1400],{"class":380},"        App",[370,1402,708],{"class":376},[370,1404,1405],{"class":775},"new",[370,1407,1408],{"class":376},"()\n",[370,1410,1412,1415,1418,1420,1422,1425,1427,1429,1432,1434,1437,1439,1442,1444,1447],{"class":372,"line":1411},42,[370,1413,1414],{"class":376},"            .",[370,1416,1417],{"class":775},"route",[370,1419,791],{"class":376},[370,1421,419],{"class":376},[370,1423,1424],{"class":400},"\u002Fusers",[370,1426,419],{"class":376},[370,1428,449],{"class":376},[370,1430,1431],{"class":380}," web",[370,1433,708],{"class":376},[370,1435,1436],{"class":775},"post",[370,1438,841],{"class":376},[370,1440,1441],{"class":775},"to",[370,1443,791],{"class":376},[370,1445,1446],{"class":390},"create_user",[370,1448,1160],{"class":376},[370,1450,1452,1454,1456,1458,1460,1463,1466,1468,1471,1473,1475,1477,1480,1482,1484,1486,1489],{"class":372,"line":1451},43,[370,1453,1414],{"class":376},[370,1455,1417],{"class":775},[370,1457,791],{"class":376},[370,1459,419],{"class":376},[370,1461,1462],{"class":400},"\u002Fusers\u002F",[370,1464,1465],{"class":376},"{",[370,1467,1239],{"class":400},[370,1469,1470],{"class":376},"}\"",[370,1472,449],{"class":376},[370,1474,1431],{"class":380},[370,1476,708],{"class":376},[370,1478,1479],{"class":775},"get",[370,1481,841],{"class":376},[370,1483,1441],{"class":775},[370,1485,791],{"class":376},[370,1487,1488],{"class":390},"get_user",[370,1490,1160],{"class":376},[370,1492,1494,1496,1498,1500,1502,1505,1507,1509,1511,1513,1515,1517,1519,1521,1524],{"class":372,"line":1493},44,[370,1495,1414],{"class":376},[370,1497,1417],{"class":775},[370,1499,791],{"class":376},[370,1501,419],{"class":376},[370,1503,1504],{"class":400},"\u002Fsearch",[370,1506,419],{"class":376},[370,1508,449],{"class":376},[370,1510,1431],{"class":380},[370,1512,708],{"class":376},[370,1514,1479],{"class":775},[370,1516,841],{"class":376},[370,1518,1441],{"class":775},[370,1520,791],{"class":376},[370,1522,1523],{"class":390},"search",[370,1525,1160],{"class":376},[370,1527,1529],{"class":372,"line":1528},45,[370,1530,1531],{"class":376},"    };\n",[370,1533,1535],{"class":372,"line":1534},46,[370,1536,765],{"emptyLinePlaceholder":764},[370,1538,1540],{"class":372,"line":1539},47,[370,1541,1542],{"class":422},"    \u002F\u002F ntex 4\n",[370,1544,1546,1549,1551,1553,1555,1557,1560,1563,1566,1569,1572],{"class":372,"line":1545},48,[370,1547,1548],{"class":380},"    HttpServer",[370,1550,708],{"class":376},[370,1552,1405],{"class":775},[370,1554,791],{"class":376},[370,1556,1084],{"class":701},[370,1558,1559],{"class":701}," move",[370,1561,1562],{"class":376}," |",[370,1564,1565],{"class":390},"_",[370,1567,1568],{"class":376},"|",[370,1570,1571],{"class":775}," app",[370,1573,1574],{"class":376},"())\n",[370,1576,1578,1581,1584,1586,1588,1591,1593,1595,1597,1599,1602,1604,1607],{"class":372,"line":1577},49,[370,1579,1580],{"class":376},"        .",[370,1582,1583],{"class":775},"bind",[370,1585,791],{"class":376},[370,1587,419],{"class":376},[370,1589,1590],{"class":400},"127.0.0.1:8080",[370,1592,419],{"class":376},[370,1594,449],{"class":376},[370,1596,705],{"class":380},[370,1598,708],{"class":376},[370,1600,1601],{"class":380},"SharedCfg",[370,1603,708],{"class":376},[370,1605,1606],{"class":775},"default",[370,1608,1609],{"class":376},"())?\n",[370,1611,1613,1615,1618],{"class":372,"line":1612},50,[370,1614,1580],{"class":376},[370,1616,1617],{"class":775},"run",[370,1619,1408],{"class":376},[370,1621,1623,1625],{"class":372,"line":1622},51,[370,1624,1580],{"class":376},[370,1626,1628],{"class":1627},"s7zQu","await\n",[370,1630,1632],{"class":372,"line":1631},52,[370,1633,1634],{"class":422},"    \u002F\u002F ntex 3: HttpServer::new(async move || app()).bind(\"127.0.0.1:8080\")?.run().await\n",[370,1636,1638],{"class":372,"line":1637},53,[370,1639,903],{"class":376},[341,1641,1642,1643,1646,1647,852],{},"The full example is ",[345,1644,1645],{},"crates\u002Fvld-ntex\u002Fexamples\u002Fntex_basic.rs"," (",[345,1648,1649],{},"cargo run -p vld-ntex --example ntex_basic",[355,1651,1653],{"id":1652},"api","API",[577,1655,1656,1665],{},[580,1657,1658],{},[583,1659,1660,1663],{},[586,1661,1662],{},"Item",[586,1664,594],{},[596,1666,1667,1680,1690,1700,1713,1730,1744,1768,1784,1793],{},[583,1668,1669,1674],{},[601,1670,1671],{},[345,1672,1673],{},"VldJson\u003CT>",[601,1675,1676,1677,649],{},"JSON body (requires a JSON ",[345,1678,1679],{},"Content-Type",[583,1681,1682,1687],{},[601,1683,1684],{},[345,1685,1686],{},"VldQuery\u003CT>",[601,1688,1689],{},"Query string",[583,1691,1692,1697],{},[601,1693,1694],{},[345,1695,1696],{},"VldPath\u003CT>",[601,1698,1699],{},"Path parameters (decoded by ntex's router)",[583,1701,1702,1707],{},[601,1703,1704],{},[345,1705,1706],{},"VldForm\u003CT>",[601,1708,1709,1712],{},[345,1710,1711],{},"application\u002Fx-www-form-urlencoded"," body",[583,1714,1715,1720],{},[601,1716,1717],{},[345,1718,1719],{},"VldHeaders\u003CT>",[601,1721,1722,1723,1726,1727,649],{},"Request headers (",[345,1724,1725],{},"X-Request-Id"," → ",[345,1728,1729],{},"x_request_id",[583,1731,1732,1737],{},[601,1733,1734],{},[345,1735,1736],{},"VldCookie\u003CT>",[601,1738,1739,1740,1743],{},"Cookies from all ",[345,1741,1742],{},"Cookie"," headers",[583,1745,1746,1751],{},[601,1747,1748],{},[345,1749,1750],{},"VldNtexError",[601,1752,1753,1754,1757,1758,1761,1762,1761,1765],{},"Error of every extractor (",[345,1755,1756],{},"WebResponseError","): ",[345,1759,1760],{},"status()",", ",[345,1763,1764],{},"body()",[345,1766,1767],{},"error()",[583,1769,1770,1775],{},[601,1771,1772],{},[345,1773,1774],{},"VldBodyLimit",[601,1776,1777,1778,639,1780,1783],{},"Body size limit for ",[345,1779,747],{},[345,1781,1782],{},"VldForm",", registered as app state",[583,1785,1786,1790],{},[601,1787,1788],{},[345,1789,1338],{},[601,1791,1792],{},"Re-export of the selected ntex crate",[583,1794,1795,1800],{},[601,1796,1797],{},[345,1798,1799],{},"prelude",[601,1801,1802,1803],{},"Everything above plus ",[345,1804,1805],{},"vld::prelude::*",[355,1807,1809],{"id":1808},"body-limit","Body limit",[341,1811,1812,1814,1815,1817,1818,639,1821,1824,1825,1827],{},[345,1813,747],{}," and ",[345,1816,1782],{}," read the payload themselves up to 2 MiB; ntex's ",[345,1819,1820],{},"JsonConfig",[345,1822,1823],{},"PayloadConfig"," do not apply. Register ",[345,1826,1774],{}," as app state:",[360,1829,1831],{"className":691,"code":1830,"language":694,"meta":366,"style":366},"use vld_ntex::VldBodyLimit;\n\n\u002F\u002F ntex 4\nApp::new().with_config(web::WebAppConfig::new().set_state(VldBodyLimit(8 * 1024 * 1024)));\n\u002F\u002F ntex 3\nApp::new().state(VldBodyLimit(8 * 1024 * 1024));\n",[345,1832,1833,1846,1850,1855,1909,1914],{"__ignoreMap":366},[370,1834,1835,1837,1839,1841,1843],{"class":372,"line":373},[370,1836,702],{"class":701},[370,1838,742],{"class":380},[370,1840,708],{"class":376},[370,1842,1774],{"class":380},[370,1844,1845],{"class":376},";\n",[370,1847,1848],{"class":372,"line":387},[370,1849,765],{"emptyLinePlaceholder":764},[370,1851,1852],{"class":372,"line":407},[370,1853,1854],{"class":422},"\u002F\u002F ntex 4\n",[370,1856,1857,1860,1862,1864,1866,1869,1871,1873,1875,1878,1880,1882,1884,1887,1889,1891,1893,1896,1899,1902,1904,1906],{"class":372,"line":426},[370,1858,1859],{"class":380},"App",[370,1861,708],{"class":376},[370,1863,1405],{"class":775},[370,1865,841],{"class":376},[370,1867,1868],{"class":775},"with_config",[370,1870,791],{"class":376},[370,1872,711],{"class":380},[370,1874,708],{"class":376},[370,1876,1877],{"class":380},"WebAppConfig",[370,1879,708],{"class":376},[370,1881,1405],{"class":775},[370,1883,841],{"class":376},[370,1885,1886],{"class":775},"set_state",[370,1888,791],{"class":376},[370,1890,1774],{"class":775},[370,1892,791],{"class":376},[370,1894,1895],{"class":701},"8",[370,1897,1898],{"class":376}," *",[370,1900,1901],{"class":701}," 1024",[370,1903,1898],{"class":376},[370,1905,1901],{"class":701},[370,1907,1908],{"class":376},")));\n",[370,1910,1911],{"class":372,"line":782},[370,1912,1913],{"class":422},"\u002F\u002F ntex 3\n",[370,1915,1916,1918,1920,1922,1924,1927,1929,1931,1933,1935,1937,1939,1941,1943],{"class":372,"line":800},[370,1917,1859],{"class":380},[370,1919,708],{"class":376},[370,1921,1405],{"class":775},[370,1923,841],{"class":376},[370,1925,1926],{"class":775},"state",[370,1928,791],{"class":376},[370,1930,1774],{"class":775},[370,1932,791],{"class":376},[370,1934,1895],{"class":701},[370,1936,1898],{"class":376},[370,1938,1901],{"class":701},[370,1940,1898],{"class":376},[370,1942,1901],{"class":701},[370,1944,1945],{"class":376},"));\n",[355,1947,1949],{"id":1948},"gotchas","Gotchas",[1951,1952,1953,1964,1970],"ul",{},[1954,1955,1956,1957,1959,1960,1963],"li",{},"Without the ",[345,1958,630],{}," feature compressed request bodies are ",[665,1961,1962],{},"not"," decoded, so a gzip body fails as malformed JSON (422). With it, the limit applies to the decoded size.",[1954,1965,1966,1967,1969],{},"ntex 4 needs a recent compiler (1.97). Pin ",[345,1968,528],{}," if your toolchain is older.",[1954,1971,1972,1973,1975,1976,1978,1979,353],{},"The ntex version of ",[345,1974,160],{}," and your own ",[345,1977,1338],{}," dependency must match, or the extractors will not implement your version's ",[345,1980,1981],{},"FromRequest",[1983,1984,1985],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}",{"title":366,"searchDepth":387,"depth":407,"links":1987},[1988,1989,1990,1991,1992,1993],{"id":357,"depth":387,"text":358},{"id":574,"depth":387,"text":575},{"id":687,"depth":387,"text":688},{"id":1652,"depth":387,"text":1653},{"id":1808,"depth":387,"text":1809},{"id":1948,"depth":387,"text":1949},"ntex 3 and ntex 4 extractors that validate JSON bodies, query strings, path parameters, forms, headers and cookies with vld schemas.","md",[1997,2002],{"label":1998,"icon":1999,"to":2000,"target":2001},"crates.io","i-simple-icons-rust","https:\u002F\u002Fcrates.io\u002Fcrates\u002Fvld-ntex","_blank",{"label":2003,"icon":307,"to":2004,"target":2001},"docs.rs","https:\u002F\u002Fdocs.rs\u002Fvld-ntex",{},{"title":160,"description":1994},"3UVowJcGNTiPDudJKC0zy5sntJo6hXYdMfxIL3T6Jfk",[2009,2011],{"title":156,"path":157,"stem":158,"description":2010,"children":-1},"Actix-web extractors that validate JSON bodies, query strings, path parameters, forms, headers and cookies with vld schemas.",{"title":164,"path":165,"stem":166,"description":2012,"children":-1},"Poem extractors that validate JSON bodies, query strings, path parameters, forms, headers and cookies with vld schemas.",1794036360949]