[{"data":1,"prerenderedAt":1225},["ShallowReactive",2],{"navigation_docs_hu":3,"-hu-httperr-overview":442,"-hu-httperr-overview-surround":1220},[4,45,60,81,112,129,146,173,197,213,242,280,357,373,385,404,430],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":44},"Kezdő lépések","i-lucide-rocket","\u002Fhu\u002Fgetting-started","hu\u002F1.getting-started",[10,15,20,24,29,34,39],{"title":11,"path":12,"stem":13,"icon":14},"Bevezetés","\u002Fhu\u002Fgetting-started\u002Fintroduction","hu\u002F1.getting-started\u002F1.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Laravelből érkezőknek","\u002Fhu\u002Fgetting-started\u002Fcoming-from-laravel","hu\u002F1.getting-started\u002F2.coming-from-laravel","i-lucide-arrow-right-left",{"title":21,"path":22,"stem":23,"icon":19},"Symfonyból érkezőknek","\u002Fhu\u002Fgetting-started\u002Fcoming-from-symfony","hu\u002F1.getting-started\u002F3.coming-from-symfony",{"title":25,"path":26,"stem":27,"icon":28},"Telepítés","\u002Fhu\u002Fgetting-started\u002Finstallation","hu\u002F1.getting-started\u002F4.installation","i-lucide-download",{"title":30,"path":31,"stem":32,"icon":33},"Az első modulod","\u002Fhu\u002Fgetting-started\u002Ffirst-module","hu\u002F1.getting-started\u002F5.first-module","i-lucide-package-plus",{"title":35,"path":36,"stem":37,"icon":38},"Projektstruktúra","\u002Fhu\u002Fgetting-started\u002Fproject-structure","hu\u002F1.getting-started\u002F6.project-structure","i-lucide-folder-tree",{"title":40,"path":41,"stem":42,"icon":43},"A shop mintaalkalmazás","\u002Fhu\u002Fgetting-started\u002Fsample-app","hu\u002F1.getting-started\u002F7.sample-app","i-lucide-shopping-cart",false,{"title":46,"icon":47,"path":48,"stem":49,"children":50,"page":44},"queue","i-lucide-layers","\u002Fhu\u002Fqueue","hu\u002F10.queue",[51,56],{"title":52,"path":53,"stem":54,"icon":55},"Áttekintés","\u002Fhu\u002Fqueue\u002Foverview","hu\u002F10.queue\u002F1.overview","i-lucide-list-ordered",{"title":57,"path":58,"stem":59,"icon":47},"Taskok","\u002Fhu\u002Fqueue\u002Ftasks","hu\u002F10.queue\u002F2.tasks",{"title":61,"icon":62,"path":63,"stem":64,"children":65,"page":44},"events","i-lucide-workflow","\u002Fhu\u002Fevents","hu\u002F11.events",[66,71,76],{"title":67,"path":68,"stem":69,"icon":70},"Események","\u002Fhu\u002Fevents\u002Foverview","hu\u002F11.events\u002F1.overview","i-lucide-radio",{"title":72,"path":73,"stem":74,"icon":75},"Outbox","\u002Fhu\u002Fevents\u002Foutbox","hu\u002F11.events\u002F2.outbox","i-lucide-inbox",{"title":77,"path":78,"stem":79,"icon":80},"Ütemezés","\u002Fhu\u002Fevents\u002Fscheduler","hu\u002F11.events\u002F3.scheduler","i-lucide-calendar-clock",{"title":82,"icon":83,"path":84,"stem":85,"children":86,"page":44},"auth","i-lucide-shield-check","\u002Fhu\u002Fauth","hu\u002F12.auth",[87,92,97,102,107],{"title":88,"path":89,"stem":90,"icon":91},"Autentikáció","\u002Fhu\u002Fauth\u002Foverview","hu\u002F12.auth\u002F1.overview","i-lucide-key-round",{"title":93,"path":94,"stem":95,"icon":96},"RBAC","\u002Fhu\u002Fauth\u002Frbac","hu\u002F12.auth\u002F2.rbac","i-lucide-users",{"title":98,"path":99,"stem":100,"icon":101},"Policy-k","\u002Fhu\u002Fauth\u002Fpolicy","hu\u002F12.auth\u002F3.policy","i-lucide-gavel",{"title":103,"path":104,"stem":105,"icon":106},"Az auth önálló használata","\u002Fhu\u002Fauth\u002Fstandalone","hu\u002F12.auth\u002F4.standalone","i-lucide-plug",{"title":108,"path":109,"stem":110,"icon":111},"Social login goth-tal, önállóan","\u002Fhu\u002Fauth\u002Fsocial-standalone","hu\u002F12.auth\u002F5.social-standalone","i-lucide-log-in",{"title":113,"icon":114,"path":115,"stem":116,"children":117,"page":44},"mail","i-lucide-mail","\u002Fhu\u002Fmail","hu\u002F13.mail",[118,121,125],{"title":52,"path":119,"stem":120,"icon":114},"\u002Fhu\u002Fmail\u002Foverview","hu\u002F13.mail\u002F1.overview",{"title":122,"path":123,"stem":124,"icon":114},"SMTP","\u002Fhu\u002Fmail\u002Fsmtp","hu\u002F13.mail\u002F2.smtp",{"title":126,"path":127,"stem":128,"icon":114},"MJML","\u002Fhu\u002Fmail\u002Fmjml","hu\u002F13.mail\u002F3.mjml",{"title":130,"icon":131,"path":132,"stem":133,"children":134,"page":44},"notify","i-lucide-bell","\u002Fhu\u002Fnotify","hu\u002F14.notify",[135,138,142],{"title":52,"path":136,"stem":137,"icon":131},"\u002Fhu\u002Fnotify\u002Foverview","hu\u002F14.notify\u002F1.overview",{"title":139,"path":140,"stem":141,"icon":131},"Database csatorna","\u002Fhu\u002Fnotify\u002Fdatabase","hu\u002F14.notify\u002F2.database",{"title":143,"path":144,"stem":145,"icon":131},"Broadcast csatorna","\u002Fhu\u002Fnotify\u002Fbroadcast","hu\u002F14.notify\u002F3.broadcast",{"title":147,"icon":148,"path":149,"stem":150,"children":151,"page":44},"storage","i-lucide-hard-drive","\u002Fhu\u002Fstorage","hu\u002F15.storage",[152,155,159,163,168],{"title":52,"path":153,"stem":154,"icon":148},"\u002Fhu\u002Fstorage\u002Foverview","hu\u002F15.storage\u002F1.overview",{"title":156,"path":157,"stem":158},"Disk API","\u002Fhu\u002Fstorage\u002Fdisk-api","hu\u002F15.storage\u002F2.disk-api",{"title":160,"path":161,"stem":162,"icon":148},"Memória és helyi lemez","\u002Fhu\u002Fstorage\u002Flocal","hu\u002F15.storage\u002F3.local",{"title":164,"path":165,"stem":166,"icon":167},"S3","\u002Fhu\u002Fstorage\u002Fs3","hu\u002F15.storage\u002F4.s3","i-lucide-cloud",{"title":169,"path":170,"stem":171,"icon":172},"Tesztelés","\u002Fhu\u002Fstorage\u002Ftesting","hu\u002F15.storage\u002F5.testing","i-lucide-flask-conical",{"title":174,"icon":175,"path":176,"stem":177,"children":178,"page":44},"telemetry","i-lucide-activity","\u002Fhu\u002Ftelemetry","hu\u002F16.telemetry",[179,182,187,192],{"title":52,"path":180,"stem":181,"icon":175},"\u002Fhu\u002Ftelemetry\u002Foverview","hu\u002F16.telemetry\u002F1.overview",{"title":183,"path":184,"stem":185,"icon":186},"Logolás","\u002Fhu\u002Ftelemetry\u002Flogging","hu\u002F16.telemetry\u002F2.logging","i-lucide-scroll-text",{"title":188,"path":189,"stem":190,"icon":191},"OpenTelemetry","\u002Fhu\u002Ftelemetry\u002Fopentelemetry","hu\u002F16.telemetry\u002F3.opentelemetry","i-lucide-radar",{"title":193,"path":194,"stem":195,"icon":196},"Sentry","\u002Fhu\u002Ftelemetry\u002Fsentry","hu\u002F16.telemetry\u002F4.sentry","i-lucide-bug",{"title":198,"icon":199,"path":200,"stem":201,"children":202,"page":44},"Referencia","i-lucide-book-open","\u002Fhu\u002Freference","hu\u002F17.reference",[203,208],{"title":204,"path":205,"stem":206,"icon":207},"Konfiguráció","\u002Fhu\u002Freference\u002Fconfiguration","hu\u002F17.reference\u002F1.configuration","i-lucide-settings",{"title":209,"path":210,"stem":211,"icon":212},"Külső függőségek","\u002Fhu\u002Freference\u002Fdependencies","hu\u002F17.reference\u002F2.dependencies","i-lucide-package",{"title":214,"icon":215,"path":216,"stem":217,"children":218,"page":44},"Koncepciók","i-lucide-lightbulb","\u002Fhu\u002Fconcepts","hu\u002F2.concepts",[219,223,228,232,237],{"title":220,"path":221,"stem":222,"icon":47},"Architektúra","\u002Fhu\u002Fconcepts\u002Farchitecture","hu\u002F2.concepts\u002F1.architecture",{"title":224,"path":225,"stem":226,"icon":227},"Hibamodell","\u002Fhu\u002Fconcepts\u002Ferror-model","hu\u002F2.concepts\u002F2.error-model","i-lucide-shield-alert",{"title":204,"path":229,"stem":230,"icon":231},"\u002Fhu\u002Fconcepts\u002Fconfiguration","hu\u002F2.concepts\u002F3.configuration","i-lucide-settings-2",{"title":233,"path":234,"stem":235,"icon":236},"Codegen pipeline","\u002Fhu\u002Fconcepts\u002Fcodegen-pipeline","hu\u002F2.concepts\u002F4.codegen-pipeline","i-lucide-file-json",{"title":238,"path":239,"stem":240,"icon":241},"Design patternek","\u002Fhu\u002Fconcepts\u002Fdesign-patterns","hu\u002F2.concepts\u002F5.design-patterns","i-lucide-puzzle",{"title":243,"icon":244,"path":245,"stem":246,"children":247,"page":44},"A kit","i-lucide-box","\u002Fhu\u002Fkit","hu\u002F3.kit",[248,252,257,262,267,271,276],{"title":249,"path":250,"stem":251,"icon":244},"A kit áttekintése","\u002Fhu\u002Fkit\u002Foverview","hu\u002F3.kit\u002F1.overview",{"title":253,"path":254,"stem":255,"icon":256},"Alkalmazás-életciklus","\u002Fhu\u002Fkit\u002Fapp","hu\u002F3.kit\u002F2.app","i-lucide-power",{"title":258,"path":259,"stem":260,"icon":261},"Szerver","\u002Fhu\u002Fkit\u002Fserver","hu\u002F3.kit\u002F3.server","i-lucide-server",{"title":263,"path":264,"stem":265,"icon":266},"Worker","\u002Fhu\u002Fkit\u002Fworker","hu\u002F3.kit\u002F4.worker","i-lucide-cog",{"title":268,"path":269,"stem":270,"icon":70},"Realtime","\u002Fhu\u002Fkit\u002Frealtime","hu\u002F3.kit\u002F5.realtime",{"title":272,"path":273,"stem":274,"icon":275},"Migrációk","\u002Fhu\u002Fkit\u002Fmigrations","hu\u002F3.kit\u002F6.migrations","i-lucide-file-stack",{"title":277,"path":278,"stem":279,"icon":111},"Social login","\u002Fhu\u002Fkit\u002Fsocial-login","hu\u002F3.kit\u002F7.social-login",{"title":281,"icon":282,"path":283,"stem":284,"children":285,"page":44},"CLI referencia","i-lucide-terminal","\u002Fhu\u002Fcli","hu\u002F4.cli",[286,289,294,299,304,309,314,319,324,329,334,338,343,348,352],{"title":52,"path":287,"stem":288,"icon":282},"\u002Fhu\u002Fcli\u002Foverview","hu\u002F4.cli\u002F1.overview",{"title":290,"path":291,"stem":292,"icon":293},"add db","\u002Fhu\u002Fcli\u002Fadd-db","hu\u002F4.cli\u002F10.add-db","i-lucide-database-zap",{"title":295,"path":296,"stem":297,"icon":298},"add compose \u002F add docker","\u002Fhu\u002Fcli\u002Fadd-compose","hu\u002F4.cli\u002F11.add-compose","i-lucide-container",{"title":300,"path":301,"stem":302,"icon":303},"add mail","\u002Fhu\u002Fcli\u002Fadd-mail","hu\u002F4.cli\u002F12.add-mail","i-lucide-mail-plus",{"title":305,"path":306,"stem":307,"icon":308},"add notification","\u002Fhu\u002Fcli\u002Fadd-notification","hu\u002F4.cli\u002F13.add-notification","i-lucide-bell-plus",{"title":310,"path":311,"stem":312,"icon":313},"add realtime","\u002Fhu\u002Fcli\u002Fadd-realtime","hu\u002F4.cli\u002F14.add-realtime","i-lucide-radio-tower",{"title":315,"path":316,"stem":317,"icon":318},"add seeder","\u002Fhu\u002Fcli\u002Fadd-seeder","hu\u002F4.cli\u002F15.add-seeder","i-lucide-sprout",{"title":320,"path":321,"stem":322,"icon":323},"new project","\u002Fhu\u002Fcli\u002Fnew-project","hu\u002F4.cli\u002F2.new-project","i-lucide-folder-plus",{"title":325,"path":326,"stem":327,"icon":328},"new module","\u002Fhu\u002Fcli\u002Fnew-module","hu\u002F4.cli\u002F3.new-module","i-lucide-blocks",{"title":330,"path":331,"stem":332,"icon":333},"add surface","\u002Fhu\u002Fcli\u002Fadd-surface","hu\u002F4.cli\u002F4.add-surface","i-lucide-layers-2",{"title":335,"path":336,"stem":337,"icon":244},"add core","\u002Fhu\u002Fcli\u002Fadd-core","hu\u002F4.cli\u002F5.add-core",{"title":339,"path":340,"stem":341,"icon":342},"add handler","\u002Fhu\u002Fcli\u002Fadd-handler","hu\u002F4.cli\u002F6.add-handler","i-lucide-webhook",{"title":344,"path":345,"stem":346,"icon":347},"new migration","\u002Fhu\u002Fcli\u002Fnew-migration","hu\u002F4.cli\u002F7.new-migration","i-lucide-file-plus",{"title":349,"path":350,"stem":351,"icon":266},"worker generátorok","\u002Fhu\u002Fcli\u002Fworker-generators","hu\u002F4.cli\u002F8.worker-generators",{"title":353,"path":354,"stem":355,"icon":356},"upgrade templates","\u002Fhu\u002Fcli\u002Fupgrade-templates","hu\u002F4.cli\u002F9.upgrade-templates","i-lucide-refresh-cw",{"title":358,"icon":227,"path":359,"stem":360,"children":361,"page":44},"errs","\u002Fhu\u002Ferrs","hu\u002F5.errs",[362,365,369],{"title":52,"path":363,"stem":364,"icon":227},"\u002Fhu\u002Ferrs\u002Foverview","hu\u002F5.errs\u002F1.overview",{"title":366,"path":367,"stem":368},"API","\u002Fhu\u002Ferrs\u002Fapi","hu\u002F5.errs\u002F2.api",{"title":370,"path":371,"stem":372,"icon":227},"Integráció","\u002Fhu\u002Ferrs\u002Fintegration","hu\u002F5.errs\u002F3.integration",{"title":374,"icon":231,"path":375,"stem":376,"children":377,"page":44},"envconf","\u002Fhu\u002Fenvconf","hu\u002F6.envconf",[378,381],{"title":52,"path":379,"stem":380,"icon":231},"\u002Fhu\u002Fenvconf\u002Foverview","hu\u002F6.envconf\u002F1.overview",{"title":382,"path":383,"stem":384},"Receptek","\u002Fhu\u002Fenvconf\u002Frecipes","hu\u002F6.envconf\u002F2.recipes",{"title":386,"icon":387,"path":388,"stem":389,"children":390,"page":44},"httperr","i-lucide-globe","\u002Fhu\u002Fhttperr","hu\u002F7.httperr",[391,394,399],{"title":52,"path":392,"stem":393,"icon":387},"\u002Fhu\u002Fhttperr\u002Foverview","hu\u002F7.httperr\u002F1.overview",{"title":395,"path":396,"stem":397,"icon":398},"Hibaválaszok","\u002Fhu\u002Fhttperr\u002Ferror-responses","hu\u002F7.httperr\u002F2.error-responses","i-lucide-octagon-alert",{"title":400,"path":401,"stem":402,"icon":403},"Validáció","\u002Fhu\u002Fhttperr\u002Fvalidation","hu\u002F7.httperr\u002F3.validation","i-lucide-badge-check",{"title":405,"icon":406,"path":407,"stem":408,"children":409,"page":44},"dbx","i-lucide-database","\u002Fhu\u002Fdbx","hu\u002F8.dbx",[410,413,417,421,426],{"title":52,"path":411,"stem":412,"icon":406},"\u002Fhu\u002Fdbx\u002Foverview","hu\u002F8.dbx\u002F1.overview",{"title":414,"path":415,"stem":416,"icon":106},"pgx","\u002Fhu\u002Fdbx\u002Fpg","hu\u002F8.dbx\u002F2.pg",{"title":418,"path":419,"stem":420,"icon":47},"bun","\u002Fhu\u002Fdbx\u002Fbunx","hu\u002F8.dbx\u002F3.bunx",{"title":422,"path":423,"stem":424,"icon":425},"Tranzakciók","\u002Fhu\u002Fdbx\u002Ftransactions","hu\u002F8.dbx\u002F4.transactions","i-lucide-git-merge",{"title":427,"path":428,"stem":429,"icon":318},"Seederek","\u002Fhu\u002Fdbx\u002Fseed","hu\u002F8.dbx\u002F5.seed",{"title":431,"icon":55,"path":432,"stem":433,"children":434,"page":44},"paginate","\u002Fhu\u002Fpaginate","hu\u002F9.paginate",[435,438],{"title":52,"path":436,"stem":437,"icon":55},"\u002Fhu\u002Fpaginate\u002Foverview","hu\u002F9.paginate\u002F1.overview",{"title":439,"path":440,"stem":441,"icon":19},"Cursor-lapozás","\u002Fhu\u002Fpaginate\u002Fcursor","hu\u002F9.paginate\u002F2.cursor",{"id":443,"title":52,"body":444,"description":1213,"extension":1214,"links":1215,"meta":1216,"navigation":1217,"path":392,"seo":1218,"stem":393,"__hash__":1219},"docs_hu\u002Fhu\u002F7.httperr\u002F1.overview.md",{"type":445,"value":446,"toc":1207},"minimark",[447,497,501,540,560,564,796,814,868,960,964,1126,1152,1156,1203],[448,449,450,451,454,455,458,459,466,467,470,471,476,477,482,483,486,487,490,491,493,494,496],"p",{},"A ",[452,453,386],"code",{}," önálló Go modul (",[452,456,457],{},"github.com\u002Fgp-system\u002Fhttperr","): a gpsystem hibamodell drót felé néző oldala, ami egy Go hibát ",[460,461,465],"a",{"href":462,"rel":463},"https:\u002F\u002Fwww.rfc-editor.org\u002Frfc\u002Frfc9457",[464],"nofollow","RFC 9457"," ",[452,468,469],{},"problem+json"," HTTP-válasszá alakít. Függősége a ",[460,472,473],{"href":363},[452,474,475],{},"gp-system\u002Ferrs"," (egy felépített hiba kódjának, publikus üzenetének és státuszának olvasásához) és a ",[460,478,481],{"href":479,"rel":480},"https:\u002F\u002Fgithub.com\u002Fgo-playground\u002Fvalidator",[464],"go-playground\u002Fvalidator"," (a ",[452,484,485],{},"httperr\u002Fvalidate"," alcsomagon keresztül, hogy a struct-tag validációs bukásokat ugyanerre a formára alakítsa). Sima ",[452,488,489],{},"net\u002Fhttp","-vel működik: keretrendszer nem szükséges. Az általa renderelt hibák felépítése az ",[452,492,358],{}," dolga, ezt a ",[460,495,224],{"href":225}," oldal írja le; ez az oldal és a következő kettő a renderelést fedi le.",[498,499,25],"h2",{"id":500},"telepítés",[502,503,508],"pre",{"className":504,"code":505,"language":506,"meta":507,"style":507},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","go get github.com\u002Fgp-system\u002Fhttperr@v0.1.0 # a kit is ezt a taget használja\ngo get github.com\u002Fgp-system\u002Fhttperr@latest\n","sh","",[452,509,510,530],{"__ignoreMap":507},[511,512,515,519,523,526],"span",{"class":513,"line":514},"line",1,[511,516,518],{"class":517},"sBMFI","go",[511,520,522],{"class":521},"sfazB"," get",[511,524,525],{"class":521}," github.com\u002Fgp-system\u002Fhttperr@v0.1.0",[511,527,529],{"class":528},"sHwdD"," # a kit is ezt a taget használja\n",[511,531,533,535,537],{"class":513,"line":532},2,[511,534,518],{"class":517},[511,536,522],{"class":521},[511,538,539],{"class":521}," github.com\u002Fgp-system\u002Fhttperr@latest\n",[448,541,542,543,546,547,550,551,553,554,556,557,559],{},"Go 1.25+. Függőségek: ",[452,544,545],{},"github.com\u002Fgp-system\u002Ferrs"," és ",[452,548,549],{},"github.com\u002Fgo-playground\u002Fvalidator\u002Fv10"," (csak akkor húzódik be tranzitívan, ha a ",[452,552,485],{},"-et importálod; az alap ",[452,555,386],{}," csomagnak csak az ",[452,558,358],{}," kell).",[498,561,563],{"id":562},"a-problem-típus","A Problem típus",[502,565,568],{"className":566,"code":567,"language":518,"meta":507,"style":507},"language-go shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import \"github.com\u002Fgp-system\u002Fhttperr\"\n\ntype Problem struct {\n    Type     string       `json:\"type\"`\n    Title    string       `json:\"title\"`\n    Status   int          `json:\"status\"`\n    Detail   string       `json:\"detail,omitempty\"`\n    Instance string       `json:\"instance,omitempty\"`\n    Code     string       `json:\"code,omitempty\"`\n    Errors   []FieldError `json:\"errors,omitempty\"`\n}\n\ntype FieldError struct {\n    Field   string `json:\"field\"`\n    Rule    string `json:\"rule,omitempty\"`\n    Message string `json:\"message\"`\n}\n",[452,569,570,585,591,606,626,641,658,673,688,703,723,729,734,746,761,776,791],{"__ignoreMap":507},[511,571,572,576,580,582],{"class":513,"line":514},[511,573,575],{"class":574},"s7zQu","import",[511,577,579],{"class":578},"sMK4o"," \"",[511,581,457],{"class":517},[511,583,584],{"class":578},"\"\n",[511,586,587],{"class":513,"line":532},[511,588,590],{"emptyLinePlaceholder":589},true,"\n",[511,592,594,597,600,603],{"class":513,"line":593},3,[511,595,596],{"class":578},"type",[511,598,599],{"class":517}," Problem",[511,601,602],{"class":578}," struct",[511,604,605],{"class":578}," {\n",[511,607,609,613,617,620,623],{"class":513,"line":608},4,[511,610,612],{"class":611},"sTEyZ","    Type     ",[511,614,616],{"class":615},"spNyl","string",[511,618,619],{"class":578},"       `",[511,621,622],{"class":521},"json:\"type\"",[511,624,625],{"class":578},"`\n",[511,627,629,632,634,636,639],{"class":513,"line":628},5,[511,630,631],{"class":611},"    Title    ",[511,633,616],{"class":615},[511,635,619],{"class":578},[511,637,638],{"class":521},"json:\"title\"",[511,640,625],{"class":578},[511,642,644,647,650,653,656],{"class":513,"line":643},6,[511,645,646],{"class":611},"    Status   ",[511,648,649],{"class":615},"int",[511,651,652],{"class":578},"          `",[511,654,655],{"class":521},"json:\"status\"",[511,657,625],{"class":578},[511,659,661,664,666,668,671],{"class":513,"line":660},7,[511,662,663],{"class":611},"    Detail   ",[511,665,616],{"class":615},[511,667,619],{"class":578},[511,669,670],{"class":521},"json:\"detail,omitempty\"",[511,672,625],{"class":578},[511,674,676,679,681,683,686],{"class":513,"line":675},8,[511,677,678],{"class":611},"    Instance ",[511,680,616],{"class":615},[511,682,619],{"class":578},[511,684,685],{"class":521},"json:\"instance,omitempty\"",[511,687,625],{"class":578},[511,689,691,694,696,698,701],{"class":513,"line":690},9,[511,692,693],{"class":611},"    Code     ",[511,695,616],{"class":615},[511,697,619],{"class":578},[511,699,700],{"class":521},"json:\"code,omitempty\"",[511,702,625],{"class":578},[511,704,706,709,712,715,718,721],{"class":513,"line":705},10,[511,707,708],{"class":611},"    Errors   ",[511,710,711],{"class":578},"[]",[511,713,714],{"class":517},"FieldError",[511,716,717],{"class":578}," `",[511,719,720],{"class":521},"json:\"errors,omitempty\"",[511,722,625],{"class":578},[511,724,726],{"class":513,"line":725},11,[511,727,728],{"class":578},"}\n",[511,730,732],{"class":513,"line":731},12,[511,733,590],{"emptyLinePlaceholder":589},[511,735,737,739,742,744],{"class":513,"line":736},13,[511,738,596],{"class":578},[511,740,741],{"class":517}," FieldError",[511,743,602],{"class":578},[511,745,605],{"class":578},[511,747,749,752,754,756,759],{"class":513,"line":748},14,[511,750,751],{"class":611},"    Field   ",[511,753,616],{"class":615},[511,755,717],{"class":578},[511,757,758],{"class":521},"json:\"field\"",[511,760,625],{"class":578},[511,762,764,767,769,771,774],{"class":513,"line":763},15,[511,765,766],{"class":611},"    Rule    ",[511,768,616],{"class":615},[511,770,717],{"class":578},[511,772,773],{"class":521},"json:\"rule,omitempty\"",[511,775,625],{"class":578},[511,777,779,782,784,786,789],{"class":513,"line":778},16,[511,780,781],{"class":611},"    Message ",[511,783,616],{"class":615},[511,785,717],{"class":578},[511,787,788],{"class":521},"json:\"message\"",[511,790,625],{"class":578},[511,792,794],{"class":513,"line":793},17,[511,795,728],{"class":578},[448,797,450,798,801,802,805,806,809,810,813],{},[452,799,800],{},"Problem"," implementálja az ",[452,803,804],{},"error","-t, tehát felépítheted és közvetlenül ",[452,807,808],{},"return","-ölheted egy handlerből, mint bármely más hibát; a ",[460,811,812],{"href":396},"következő oldal"," írja le, hogy ez (és minden más hiba) valójában hogyan ér a HTTP-válaszba. Egy kidolgozott, teljes példa:",[502,815,817],{"className":566,"code":816,"language":518,"meta":507,"style":507},"if productID == \"\" {\n    return httperr.BadRequest(\"productId is required\")\n}\n",[452,818,819,835,864],{"__ignoreMap":507},[511,820,821,824,827,830,833],{"class":513,"line":514},[511,822,823],{"class":574},"if",[511,825,826],{"class":611}," productID ",[511,828,829],{"class":578},"==",[511,831,832],{"class":578}," \"\"",[511,834,605],{"class":578},[511,836,837,840,843,846,850,853,856,859,861],{"class":513,"line":532},[511,838,839],{"class":574},"    return",[511,841,842],{"class":611}," httperr",[511,844,845],{"class":578},".",[511,847,849],{"class":848},"s2Zo4","BadRequest",[511,851,852],{"class":578},"(",[511,854,855],{"class":578},"\"",[511,857,858],{"class":521},"productId is required",[511,860,855],{"class":578},[511,862,863],{"class":578},")\n",[511,865,866],{"class":513,"line":593},[511,867,728],{"class":578},[502,869,873],{"className":870,"code":871,"language":872,"meta":507,"style":507},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"type\": \"about:blank\",\n  \"title\": \"Bad Request\",\n  \"status\": 400,\n  \"detail\": \"productId is required\"\n}\n","json",[452,874,875,880,902,922,939,956],{"__ignoreMap":507},[511,876,877],{"class":513,"line":514},[511,878,879],{"class":578},"{\n",[511,881,882,885,887,889,892,894,897,899],{"class":513,"line":532},[511,883,884],{"class":578},"  \"",[511,886,596],{"class":615},[511,888,855],{"class":578},[511,890,891],{"class":578},":",[511,893,579],{"class":578},[511,895,896],{"class":521},"about:blank",[511,898,855],{"class":578},[511,900,901],{"class":578},",\n",[511,903,904,906,909,911,913,915,918,920],{"class":513,"line":593},[511,905,884],{"class":578},[511,907,908],{"class":615},"title",[511,910,855],{"class":578},[511,912,891],{"class":578},[511,914,579],{"class":578},[511,916,917],{"class":521},"Bad Request",[511,919,855],{"class":578},[511,921,901],{"class":578},[511,923,924,926,929,931,933,937],{"class":513,"line":608},[511,925,884],{"class":578},[511,927,928],{"class":615},"status",[511,930,855],{"class":578},[511,932,891],{"class":578},[511,934,936],{"class":935},"sbssI"," 400",[511,938,901],{"class":578},[511,940,941,943,946,948,950,952,954],{"class":513,"line":628},[511,942,884],{"class":578},[511,944,945],{"class":615},"detail",[511,947,855],{"class":578},[511,949,891],{"class":578},[511,951,579],{"class":578},[511,953,858],{"class":521},[511,955,584],{"class":578},[511,957,958],{"class":513,"line":643},[511,959,728],{"class":578},[498,961,963],{"id":962},"konstruktorok","Konstruktorok",[502,965,967],{"className":566,"code":966,"language":518,"meta":507,"style":507},"httperr.New(status, title, detail) \u002F\u002F a title defaultja a HTTP státusz-szöveg\nhttperr.BadRequest(detail)         \u002F\u002F 400\nhttperr.Unauthorized(detail)       \u002F\u002F 401\nhttperr.Forbidden(detail)          \u002F\u002F 403\nhttperr.NotFound(detail)           \u002F\u002F 404\nhttperr.Conflict(detail)           \u002F\u002F 409\nhttperr.Internal(detail)           \u002F\u002F 500\nhttperr.Validation(fieldErrs...)   \u002F\u002F 422, errors[]-szel\n",[452,968,969,999,1016,1034,1052,1070,1088,1106],{"__ignoreMap":507},[511,970,971,973,975,978,980,982,985,988,990,993,996],{"class":513,"line":514},[511,972,386],{"class":611},[511,974,845],{"class":578},[511,976,977],{"class":848},"New",[511,979,852],{"class":578},[511,981,928],{"class":611},[511,983,984],{"class":578},",",[511,986,987],{"class":611}," title",[511,989,984],{"class":578},[511,991,992],{"class":611}," detail",[511,994,995],{"class":578},")",[511,997,998],{"class":528}," \u002F\u002F a title defaultja a HTTP státusz-szöveg\n",[511,1000,1001,1003,1005,1007,1009,1011,1013],{"class":513,"line":532},[511,1002,386],{"class":611},[511,1004,845],{"class":578},[511,1006,849],{"class":848},[511,1008,852],{"class":578},[511,1010,945],{"class":611},[511,1012,995],{"class":578},[511,1014,1015],{"class":528},"         \u002F\u002F 400\n",[511,1017,1018,1020,1022,1025,1027,1029,1031],{"class":513,"line":593},[511,1019,386],{"class":611},[511,1021,845],{"class":578},[511,1023,1024],{"class":848},"Unauthorized",[511,1026,852],{"class":578},[511,1028,945],{"class":611},[511,1030,995],{"class":578},[511,1032,1033],{"class":528},"       \u002F\u002F 401\n",[511,1035,1036,1038,1040,1043,1045,1047,1049],{"class":513,"line":608},[511,1037,386],{"class":611},[511,1039,845],{"class":578},[511,1041,1042],{"class":848},"Forbidden",[511,1044,852],{"class":578},[511,1046,945],{"class":611},[511,1048,995],{"class":578},[511,1050,1051],{"class":528},"          \u002F\u002F 403\n",[511,1053,1054,1056,1058,1061,1063,1065,1067],{"class":513,"line":628},[511,1055,386],{"class":611},[511,1057,845],{"class":578},[511,1059,1060],{"class":848},"NotFound",[511,1062,852],{"class":578},[511,1064,945],{"class":611},[511,1066,995],{"class":578},[511,1068,1069],{"class":528},"           \u002F\u002F 404\n",[511,1071,1072,1074,1076,1079,1081,1083,1085],{"class":513,"line":643},[511,1073,386],{"class":611},[511,1075,845],{"class":578},[511,1077,1078],{"class":848},"Conflict",[511,1080,852],{"class":578},[511,1082,945],{"class":611},[511,1084,995],{"class":578},[511,1086,1087],{"class":528},"           \u002F\u002F 409\n",[511,1089,1090,1092,1094,1097,1099,1101,1103],{"class":513,"line":660},[511,1091,386],{"class":611},[511,1093,845],{"class":578},[511,1095,1096],{"class":848},"Internal",[511,1098,852],{"class":578},[511,1100,945],{"class":611},[511,1102,995],{"class":578},[511,1104,1105],{"class":528},"           \u002F\u002F 500\n",[511,1107,1108,1110,1112,1115,1117,1120,1123],{"class":513,"line":675},[511,1109,386],{"class":611},[511,1111,845],{"class":578},[511,1113,1114],{"class":848},"Validation",[511,1116,852],{"class":578},[511,1118,1119],{"class":611},"fieldErrs",[511,1121,1122],{"class":578},"...)",[511,1124,1125],{"class":528},"   \u002F\u002F 422, errors[]-szel\n",[448,1127,1128,1129,1132,1133,1139,1140,1143,1144,1147,1148,1151],{},"Ezek jól fedik a gyors, névtelen 4xx-eket: a ",[452,1130,1131],{},"return httperr.NotFound(\"no such product\")"," egy handlerben így, önmagában is teljesen rendben van. Amint egy hibamódnak neve, stabil kódja vagy több hívási helye van, az ",[460,1134,1136],{"href":1135},"\u002Fhu\u002Ferrs\u002Fapi#errsdefine-elnevezett-hibam%C3%B3dok",[452,1137,1138],{},"errs.Define"," a jobb otthon: a felismerés (",[452,1141,1142],{},"errors.Is",") és a renderelés (státusz, kód, üzenet) így egyetlen deklarációban él, nem szétszórt ",[452,1145,1146],{},"httperr.___(...)"," hívásokban, és a ",[460,1149,1150],{"href":396},"mapping"," ugyanúgy felveszi.",[498,1153,1155],{"id":1154},"kapcsolódó-oldalak","Kapcsolódó oldalak",[1157,1158,1159,1177,1189,1198],"ul",{},[1160,1161,1162,1164,1165,1168,1169,1172,1173,1176],"li",{},[460,1163,395],{"href":396},": ",[452,1166,1167],{},"WriteError","\u002F",[452,1170,1171],{},"NewWriteError",", a teljes mapping-sorrend, és hogy a ",[452,1174,1175],{},"HTTP_EXPOSE_INTERNAL_ERRORS"," hogyan illeszkedik ide.",[1160,1178,1179,1181,1182,1184,1185,1188],{},[460,1180,400],{"href":401},": a ",[452,1183,485],{}," csomag, a ",[452,1186,1187],{},"Translate",", és a 422-es válaszforma.",[1160,1190,1191,1194,1195,1197],{},[460,1192,1193],{"href":363},"errs: Áttekintés",": a modul, ami a ",[452,1196,386],{}," által renderelt hibákat felépíti.",[1160,1199,1200,1202],{},[460,1201,224],{"href":225},": a teljes kérés-válasz pipeline.",[1204,1205,1206],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}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 .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}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":507,"searchDepth":532,"depth":532,"links":1208},[1209,1210,1211,1212],{"id":500,"depth":532,"text":25},{"id":562,"depth":532,"text":563},{"id":962,"depth":532,"text":963},{"id":1154,"depth":532,"text":1155},"RFC 9457 problem details HTTP handlerekhez.","md",null,{},{"icon":387},{"title":52,"description":1213},"KYWZZTtxbtKg_dZZSloFtkQm2GWIX8lUY47ftcW6lJQ",[1221,1223],{"title":382,"path":383,"stem":384,"description":1222,"children":-1},"[object Object]",{"title":395,"path":396,"stem":397,"description":1224,"icon":398,"children":-1},"A httperr csomag, RFC 9457 problem+json minden hibára, egyetlen központi mappinggel.",1785445882962]