[{"data":1,"prerenderedAt":1951},["ShallowReactive",2],{"navigation_docs_hu":3,"-hu-errs-integration":442,"-hu-errs-integration-surround":1946},[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":370,"body":444,"description":1939,"extension":1940,"links":1941,"meta":1942,"navigation":1943,"path":371,"seo":1944,"stem":372,"__hash__":1945},"docs_hu\u002Fhu\u002F5.errs\u002F3.integration.md",{"type":445,"value":446,"toc":1932},"minimark",[447,472,477,486,537,563,616,1080,1106,1109,1114,1144,1171,1175,1184,1682,1820,1849,1853,1888,1892,1928],[448,449,450,451,454,455,458,459,462,463,465,466,471],"p",{},"Az ",[452,453,358],"code",{}," felépíti a hibákat; szándékosan nem tud a ",[452,456,457],{},"slog","-ról, a Sentryről vagy a HTTP-ről. Ez az oldal azt a három helyet írja le, ahol valami más veszi fel az ",[452,460,461],{},"*errs.Error","-t és csinál vele valamit: a standard loggert, a Sentryt, és egy kézzel írt HTTP mappert azoknak a projekteknek, amik ",[452,464,358],{},"-t akarnak ",[467,468,469],"a",{"href":392},[452,470,386],{}," nélkül.",[473,474,476],"h2",{"id":475},"log-kimenet","Log kimenet",[448,478,450,479,481,482,485],{},[452,480,461],{}," implementálja az ",[452,483,484],{},"slog.LogValuer","-t:",[487,488,493],"pre",{"className":489,"code":490,"language":491,"meta":492,"style":492},"language-go shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","func (e *Error) LogValue() slog.Value\n","go","",[452,494,495],{"__ignoreMap":492},[496,497,500,504,507,511,514,518,521,525,528,531,534],"span",{"class":498,"line":499},"line",1,[496,501,503],{"class":502},"sMK4o","func",[496,505,506],{"class":502}," (",[496,508,510],{"class":509},"sHdIc","e ",[496,512,513],{"class":502},"*",[496,515,517],{"class":516},"sBMFI","Error",[496,519,520],{"class":502},")",[496,522,524],{"class":523},"s2Zo4"," LogValue",[496,526,527],{"class":502},"()",[496,529,530],{"class":516}," slog",[496,532,533],{"class":502},".",[496,535,536],{"class":516},"Value\n",[448,538,539,540,543,544,550,551,556,557,559,560,562],{},"Egy hiba ",[452,541,542],{},"slog.Any(\"error\", err)","-nek átadva strukturált csoportot bocsát ki, nem egy lapos stringet: a belső üzenetet, a kódot, a publikus üzenetet, a ",[467,545,547],{"href":546},"\u002Fhu\u002Ferrs\u002Fapi#introspekci%C3%B3-frames-fullframes-chain",[452,548,549],{},"Chain","-t (egy objektum wrap-szintenként) és a ",[467,552,553],{"href":546},[452,554,555],{},"Frames","-t (a teljes hívási stack a keletkezés pontjától). Ez automatikusan megtörténik, hívási helyenkénti formázás nélkül, bárhol, ahol egy ",[452,558,461],{}," egy ",[452,561,457],{}," hívásba kerül:",[487,564,566],{"className":489,"code":565,"language":491,"meta":492,"style":492},"slog.Error(\"request failed\", slog.Any(\"error\", err))\n",[452,567,568],{"__ignoreMap":492},[496,569,570,573,575,577,580,583,587,589,592,594,596,599,601,603,606,608,610,613],{"class":498,"line":499},[496,571,457],{"class":572},"sTEyZ",[496,574,533],{"class":502},[496,576,517],{"class":523},[496,578,579],{"class":502},"(",[496,581,582],{"class":502},"\"",[496,584,586],{"class":585},"sfazB","request failed",[496,588,582],{"class":502},[496,590,591],{"class":502},",",[496,593,530],{"class":572},[496,595,533],{"class":502},[496,597,598],{"class":523},"Any",[496,600,579],{"class":502},[496,602,582],{"class":502},[496,604,605],{"class":585},"error",[496,607,582],{"class":502},[496,609,591],{"class":502},[496,611,612],{"class":572}," err",[496,614,615],{"class":502},"))\n",[487,617,621],{"className":618,"code":619,"language":620,"meta":492,"style":492},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"msg\": \"request failed\",\n  \"error\": {\n    \"msg\": \"shop: place order: orders: decrement stock: connection refused\",\n    \"code\": \"shop_api_place_order_failed\",\n    \"public\": \"A rendelés feladása nem sikerült, próbáld újra később.\",\n    \"chain\": [\n      { \"msg\": \"shop: place order\", \"file\": \"service.go\", \"line\": 42, \"function\": \"service.(*Service).PlaceOrder\" },\n      { \"msg\": \"orders: decrement stock\", \"file\": \"orders.go\", \"line\": 31, \"function\": \"repository.(*Orders).DecrementStock\", \"meta\": { \"product_id\": \"prod_42\" } },\n      { \"msg\": \"connection refused\" }\n    ],\n    \"stack\": [\n      { \"file\": \"orders.go\", \"line\": 31, \"function\": \"repository.(*Orders).DecrementStock\" },\n      { \"file\": \"service.go\", \"line\": 42, \"function\": \"service.(*Service).PlaceOrder\" }\n    ]\n  }\n}\n","json",[452,622,623,628,653,667,688,708,729,744,818,921,944,950,964,1013,1062,1068,1074],{"__ignoreMap":492},[496,624,625],{"class":498,"line":499},[496,626,627],{"class":502},"{\n",[496,629,631,634,638,640,643,646,648,650],{"class":498,"line":630},2,[496,632,633],{"class":502},"  \"",[496,635,637],{"class":636},"spNyl","msg",[496,639,582],{"class":502},[496,641,642],{"class":502},":",[496,644,645],{"class":502}," \"",[496,647,586],{"class":585},[496,649,582],{"class":502},[496,651,652],{"class":502},",\n",[496,654,656,658,660,662,664],{"class":498,"line":655},3,[496,657,633],{"class":502},[496,659,605],{"class":636},[496,661,582],{"class":502},[496,663,642],{"class":502},[496,665,666],{"class":502}," {\n",[496,668,670,673,675,677,679,681,684,686],{"class":498,"line":669},4,[496,671,672],{"class":502},"    \"",[496,674,637],{"class":516},[496,676,582],{"class":502},[496,678,642],{"class":502},[496,680,645],{"class":502},[496,682,683],{"class":585},"shop: place order: orders: decrement stock: connection refused",[496,685,582],{"class":502},[496,687,652],{"class":502},[496,689,691,693,695,697,699,701,704,706],{"class":498,"line":690},5,[496,692,672],{"class":502},[496,694,452],{"class":516},[496,696,582],{"class":502},[496,698,642],{"class":502},[496,700,645],{"class":502},[496,702,703],{"class":585},"shop_api_place_order_failed",[496,705,582],{"class":502},[496,707,652],{"class":502},[496,709,711,713,716,718,720,722,725,727],{"class":498,"line":710},6,[496,712,672],{"class":502},[496,714,715],{"class":516},"public",[496,717,582],{"class":502},[496,719,642],{"class":502},[496,721,645],{"class":502},[496,723,724],{"class":585},"A rendelés feladása nem sikerült, próbáld újra később.",[496,726,582],{"class":502},[496,728,652],{"class":502},[496,730,732,734,737,739,741],{"class":498,"line":731},7,[496,733,672],{"class":502},[496,735,736],{"class":516},"chain",[496,738,582],{"class":502},[496,740,642],{"class":502},[496,742,743],{"class":502}," [\n",[496,745,747,750,752,755,757,759,761,764,766,768,770,773,775,777,779,782,784,786,788,790,792,794,797,799,801,804,806,808,810,813,815],{"class":498,"line":746},8,[496,748,749],{"class":502},"      {",[496,751,645],{"class":502},[496,753,637],{"class":754},"sbssI",[496,756,582],{"class":502},[496,758,642],{"class":502},[496,760,645],{"class":502},[496,762,763],{"class":585},"shop: place order",[496,765,582],{"class":502},[496,767,591],{"class":502},[496,769,645],{"class":502},[496,771,772],{"class":754},"file",[496,774,582],{"class":502},[496,776,642],{"class":502},[496,778,645],{"class":502},[496,780,781],{"class":585},"service.go",[496,783,582],{"class":502},[496,785,591],{"class":502},[496,787,645],{"class":502},[496,789,498],{"class":754},[496,791,582],{"class":502},[496,793,642],{"class":502},[496,795,796],{"class":754}," 42",[496,798,591],{"class":502},[496,800,645],{"class":502},[496,802,803],{"class":754},"function",[496,805,582],{"class":502},[496,807,642],{"class":502},[496,809,645],{"class":502},[496,811,812],{"class":585},"service.(*Service).PlaceOrder",[496,814,582],{"class":502},[496,816,817],{"class":502}," },\n",[496,819,821,823,825,827,829,831,833,836,838,840,842,844,846,848,850,853,855,857,859,861,863,865,868,870,872,874,876,878,880,883,885,887,889,892,894,896,899,901,905,907,909,911,914,916,919],{"class":498,"line":820},9,[496,822,749],{"class":502},[496,824,645],{"class":502},[496,826,637],{"class":754},[496,828,582],{"class":502},[496,830,642],{"class":502},[496,832,645],{"class":502},[496,834,835],{"class":585},"orders: decrement stock",[496,837,582],{"class":502},[496,839,591],{"class":502},[496,841,645],{"class":502},[496,843,772],{"class":754},[496,845,582],{"class":502},[496,847,642],{"class":502},[496,849,645],{"class":502},[496,851,852],{"class":585},"orders.go",[496,854,582],{"class":502},[496,856,591],{"class":502},[496,858,645],{"class":502},[496,860,498],{"class":754},[496,862,582],{"class":502},[496,864,642],{"class":502},[496,866,867],{"class":754}," 31",[496,869,591],{"class":502},[496,871,645],{"class":502},[496,873,803],{"class":754},[496,875,582],{"class":502},[496,877,642],{"class":502},[496,879,645],{"class":502},[496,881,882],{"class":585},"repository.(*Orders).DecrementStock",[496,884,582],{"class":502},[496,886,591],{"class":502},[496,888,645],{"class":502},[496,890,891],{"class":754},"meta",[496,893,582],{"class":502},[496,895,642],{"class":502},[496,897,898],{"class":502}," {",[496,900,645],{"class":502},[496,902,904],{"class":903},"swJcz","product_id",[496,906,582],{"class":502},[496,908,642],{"class":502},[496,910,645],{"class":502},[496,912,913],{"class":585},"prod_42",[496,915,582],{"class":502},[496,917,918],{"class":502}," }",[496,920,817],{"class":502},[496,922,924,926,928,930,932,934,936,939,941],{"class":498,"line":923},10,[496,925,749],{"class":502},[496,927,645],{"class":502},[496,929,637],{"class":754},[496,931,582],{"class":502},[496,933,642],{"class":502},[496,935,645],{"class":502},[496,937,938],{"class":585},"connection refused",[496,940,582],{"class":502},[496,942,943],{"class":502}," }\n",[496,945,947],{"class":498,"line":946},11,[496,948,949],{"class":502},"    ],\n",[496,951,953,955,958,960,962],{"class":498,"line":952},12,[496,954,672],{"class":502},[496,956,957],{"class":516},"stack",[496,959,582],{"class":502},[496,961,642],{"class":502},[496,963,743],{"class":502},[496,965,967,969,971,973,975,977,979,981,983,985,987,989,991,993,995,997,999,1001,1003,1005,1007,1009,1011],{"class":498,"line":966},13,[496,968,749],{"class":502},[496,970,645],{"class":502},[496,972,772],{"class":754},[496,974,582],{"class":502},[496,976,642],{"class":502},[496,978,645],{"class":502},[496,980,852],{"class":585},[496,982,582],{"class":502},[496,984,591],{"class":502},[496,986,645],{"class":502},[496,988,498],{"class":754},[496,990,582],{"class":502},[496,992,642],{"class":502},[496,994,867],{"class":754},[496,996,591],{"class":502},[496,998,645],{"class":502},[496,1000,803],{"class":754},[496,1002,582],{"class":502},[496,1004,642],{"class":502},[496,1006,645],{"class":502},[496,1008,882],{"class":585},[496,1010,582],{"class":502},[496,1012,817],{"class":502},[496,1014,1016,1018,1020,1022,1024,1026,1028,1030,1032,1034,1036,1038,1040,1042,1044,1046,1048,1050,1052,1054,1056,1058,1060],{"class":498,"line":1015},14,[496,1017,749],{"class":502},[496,1019,645],{"class":502},[496,1021,772],{"class":754},[496,1023,582],{"class":502},[496,1025,642],{"class":502},[496,1027,645],{"class":502},[496,1029,781],{"class":585},[496,1031,582],{"class":502},[496,1033,591],{"class":502},[496,1035,645],{"class":502},[496,1037,498],{"class":754},[496,1039,582],{"class":502},[496,1041,642],{"class":502},[496,1043,796],{"class":754},[496,1045,591],{"class":502},[496,1047,645],{"class":502},[496,1049,803],{"class":754},[496,1051,582],{"class":502},[496,1053,642],{"class":502},[496,1055,645],{"class":502},[496,1057,812],{"class":585},[496,1059,582],{"class":502},[496,1061,943],{"class":502},[496,1063,1065],{"class":498,"line":1064},15,[496,1066,1067],{"class":502},"    ]\n",[496,1069,1071],{"class":498,"line":1070},16,[496,1072,1073],{"class":502},"  }\n",[496,1075,1077],{"class":498,"line":1076},17,[496,1078,1079],{"class":502},"}\n",[448,1081,1082,1083,1086,1087,1089,1090,1092,1093,1095,1096,1099,1100,1102,1103,1105],{},"Egy csapdát érdemes elkerülni: a ",[452,1084,1085],{},"LogValue"," csak akkor sül el, ha az ",[452,1088,457],{}," ténylegesen egy ",[452,1091,605],{},"-típusú, ",[452,1094,461],{},"-t hordozó értéket kap. Ha előbb hívod az ",[452,1097,1098],{},"err.Error()","-t, és a kapott stringet logolod, pontosan azt kapod: egy lapos stringet, struktúra nélkül. Mindig magát a hibát add át (",[452,1101,542],{},"), sose a renderelt üzenetét. A ",[467,1104,183],{"href":184}," oldal írja le a logolási setup további részét, a console\u002FJSON handlereket, és hogy ez a strukturált csoport hogyan néz ki mindegyikben.",[473,1107,193],{"id":1108},"sentry",[448,1110,450,1111,1113],{},[452,1112,461],{}," kiteszi az egyetlen metódust, amit a sentry-go reflexióval keres, amikor egy exception stack-frame-jeit építi:",[487,1115,1117],{"className":489,"code":1116,"language":491,"meta":492,"style":492},"func (e *Error) StackTrace() []uintptr\n",[452,1118,1119],{"__ignoreMap":492},[496,1120,1121,1123,1125,1127,1129,1131,1133,1136,1138,1141],{"class":498,"line":499},[496,1122,503],{"class":502},[496,1124,506],{"class":502},[496,1126,510],{"class":509},[496,1128,513],{"class":502},[496,1130,517],{"class":516},[496,1132,520],{"class":502},[496,1134,1135],{"class":523}," StackTrace",[496,1137,527],{"class":502},[496,1139,1140],{"class":502}," []",[496,1142,1143],{"class":636},"uintptr\n",[448,1145,1146,1147,1149,1150,1155,1156,1159,1160,1163,1164,1170],{},"Bármely Sentry-integráció, ami sima ",[452,1148,605],{},"-t fogad el és ellenőrzi ezt a metódust (ahogy a ",[467,1151,1152],{"href":194},[452,1153,1154],{},"telemetry\u002Fsentryx"," teszi), pontos stacket kap extra bekötés nélkül: nincs kézi ",[452,1157,1158],{},"sentry.NewStacktrace()"," hívás, nincs frame-átugrási aritmetika. A hiba ",[452,1161,1162],{},"Code","-ja (ha be van állítva, jellemzően ",[467,1165,1167],{"href":1166},"\u002Fhu\u002Ferrs\u002Fapi#errsdefine-elnevezett-hibam%C3%B3dok",[452,1168,1169],{},"errs.Define","-on keresztül) egyben stabil Sentry-fingerprintként is szolgál: az exception átcímkézése a kóddal küldés előtt azt jelenti, hogy egy hibamód egy Sentry issue-ba csoportosul, függetlenül attól, hogy az üzenetszöveg hogyan van megfogalmazva az egyes wrap-helyeken, vagy hány különböző hívási hely termeli.",[473,1172,1174],{"id":1173},"minimális-nethttp-mapper","Minimális net\u002Fhttp mapper",[448,1176,1177,1178,1180,1181,1183],{},"A ",[452,1179,386],{}," azért létezik, mert ez a mapping, rendesen megcsinálva (content negotiation, RFC 9457 forma, validációs hibák, dev-mode gating), több, mint néhány sor. De ha csak az ",[452,1182,358],{}," stack\u002Fkód\u002Fpublikus-üzenet modelljét akarod, és nem akarod az extra függőséget, a minimális verzió tényleg kicsi:",[487,1185,1188],{"className":489,"code":1186,"filename":1187,"language":491,"meta":492,"style":492},"package errmap\n\nimport (\n    \"encoding\u002Fjson\"\n    \"errors\"\n    \"log\u002Fslog\"\n    \"net\u002Fhttp\"\n\n    \"github.com\u002Fgp-system\u002Ferrs\"\n)\n\nfunc Write(w http.ResponseWriter, r *http.Request, err error) {\n    status := errs.StatusOf(err)\n    if status == 0 {\n        status = http.StatusInternalServerError\n    }\n\n    detail := errs.PublicOf(err)\n    if status >= 500 {\n        slog.ErrorContext(r.Context(), \"request failed\", slog.Any(\"error\", err))\n        if detail == \"\" {\n            detail = \"Internal server error.\"\n        }\n    }\n\n    w.Header().Set(\"Content-Type\", \"application\u002Fjson\")\n    w.WriteHeader(status)\n    _ = json.NewEncoder(w).Encode(map[string]any{\n        \"status\": status,\n        \"detail\": detail,\n        \"code\":   errs.CodeOf(err),\n    })\n}\n","errmap\u002Ferrmap.go",[452,1189,1190,1198,1204,1213,1223,1232,1241,1250,1254,1263,1268,1272,1319,1342,1358,1373,1378,1382,1403,1418,1470,1486,1501,1507,1512,1517,1554,1571,1611,1628,1645,1671,1677],{"__ignoreMap":492},[496,1191,1192,1195],{"class":498,"line":499},[496,1193,1194],{"class":502},"package",[496,1196,1197],{"class":516}," errmap\n",[496,1199,1200],{"class":498,"line":630},[496,1201,1203],{"emptyLinePlaceholder":1202},true,"\n",[496,1205,1206,1210],{"class":498,"line":655},[496,1207,1209],{"class":1208},"s7zQu","import",[496,1211,1212],{"class":502}," (\n",[496,1214,1215,1217,1220],{"class":498,"line":669},[496,1216,672],{"class":502},[496,1218,1219],{"class":516},"encoding\u002Fjson",[496,1221,1222],{"class":502},"\"\n",[496,1224,1225,1227,1230],{"class":498,"line":690},[496,1226,672],{"class":502},[496,1228,1229],{"class":516},"errors",[496,1231,1222],{"class":502},[496,1233,1234,1236,1239],{"class":498,"line":710},[496,1235,672],{"class":502},[496,1237,1238],{"class":516},"log\u002Fslog",[496,1240,1222],{"class":502},[496,1242,1243,1245,1248],{"class":498,"line":731},[496,1244,672],{"class":502},[496,1246,1247],{"class":516},"net\u002Fhttp",[496,1249,1222],{"class":502},[496,1251,1252],{"class":498,"line":746},[496,1253,1203],{"emptyLinePlaceholder":1202},[496,1255,1256,1258,1261],{"class":498,"line":820},[496,1257,672],{"class":502},[496,1259,1260],{"class":516},"github.com\u002Fgp-system\u002Ferrs",[496,1262,1222],{"class":502},[496,1264,1265],{"class":498,"line":923},[496,1266,1267],{"class":502},")\n",[496,1269,1270],{"class":498,"line":946},[496,1271,1203],{"emptyLinePlaceholder":1202},[496,1273,1274,1276,1279,1281,1284,1287,1289,1292,1294,1297,1300,1303,1305,1308,1310,1312,1315,1317],{"class":498,"line":952},[496,1275,503],{"class":502},[496,1277,1278],{"class":523}," Write",[496,1280,579],{"class":502},[496,1282,1283],{"class":509},"w",[496,1285,1286],{"class":516}," http",[496,1288,533],{"class":502},[496,1290,1291],{"class":516},"ResponseWriter",[496,1293,591],{"class":502},[496,1295,1296],{"class":509}," r",[496,1298,1299],{"class":502}," *",[496,1301,1302],{"class":516},"http",[496,1304,533],{"class":502},[496,1306,1307],{"class":516},"Request",[496,1309,591],{"class":502},[496,1311,612],{"class":509},[496,1313,1314],{"class":636}," error",[496,1316,520],{"class":502},[496,1318,666],{"class":502},[496,1320,1321,1324,1327,1330,1332,1335,1337,1340],{"class":498,"line":966},[496,1322,1323],{"class":572},"    status ",[496,1325,1326],{"class":502},":=",[496,1328,1329],{"class":572}," errs",[496,1331,533],{"class":502},[496,1333,1334],{"class":523},"StatusOf",[496,1336,579],{"class":502},[496,1338,1339],{"class":572},"err",[496,1341,1267],{"class":502},[496,1343,1344,1347,1350,1353,1356],{"class":498,"line":1015},[496,1345,1346],{"class":1208},"    if",[496,1348,1349],{"class":572}," status ",[496,1351,1352],{"class":502},"==",[496,1354,1355],{"class":754}," 0",[496,1357,666],{"class":502},[496,1359,1360,1363,1366,1368,1370],{"class":498,"line":1064},[496,1361,1362],{"class":572},"        status ",[496,1364,1365],{"class":502},"=",[496,1367,1286],{"class":572},[496,1369,533],{"class":502},[496,1371,1372],{"class":572},"StatusInternalServerError\n",[496,1374,1375],{"class":498,"line":1070},[496,1376,1377],{"class":502},"    }\n",[496,1379,1380],{"class":498,"line":1076},[496,1381,1203],{"emptyLinePlaceholder":1202},[496,1383,1385,1388,1390,1392,1394,1397,1399,1401],{"class":498,"line":1384},18,[496,1386,1387],{"class":572},"    detail ",[496,1389,1326],{"class":502},[496,1391,1329],{"class":572},[496,1393,533],{"class":502},[496,1395,1396],{"class":523},"PublicOf",[496,1398,579],{"class":502},[496,1400,1339],{"class":572},[496,1402,1267],{"class":502},[496,1404,1406,1408,1410,1413,1416],{"class":498,"line":1405},19,[496,1407,1346],{"class":1208},[496,1409,1349],{"class":572},[496,1411,1412],{"class":502},">=",[496,1414,1415],{"class":754}," 500",[496,1417,666],{"class":502},[496,1419,1421,1424,1426,1429,1431,1434,1436,1439,1442,1444,1446,1448,1450,1452,1454,1456,1458,1460,1462,1464,1466,1468],{"class":498,"line":1420},20,[496,1422,1423],{"class":572},"        slog",[496,1425,533],{"class":502},[496,1427,1428],{"class":523},"ErrorContext",[496,1430,579],{"class":502},[496,1432,1433],{"class":572},"r",[496,1435,533],{"class":502},[496,1437,1438],{"class":523},"Context",[496,1440,1441],{"class":502},"(),",[496,1443,645],{"class":502},[496,1445,586],{"class":585},[496,1447,582],{"class":502},[496,1449,591],{"class":502},[496,1451,530],{"class":572},[496,1453,533],{"class":502},[496,1455,598],{"class":523},[496,1457,579],{"class":502},[496,1459,582],{"class":502},[496,1461,605],{"class":585},[496,1463,582],{"class":502},[496,1465,591],{"class":502},[496,1467,612],{"class":572},[496,1469,615],{"class":502},[496,1471,1473,1476,1479,1481,1484],{"class":498,"line":1472},21,[496,1474,1475],{"class":1208},"        if",[496,1477,1478],{"class":572}," detail ",[496,1480,1352],{"class":502},[496,1482,1483],{"class":502}," \"\"",[496,1485,666],{"class":502},[496,1487,1489,1492,1494,1496,1499],{"class":498,"line":1488},22,[496,1490,1491],{"class":572},"            detail ",[496,1493,1365],{"class":502},[496,1495,645],{"class":502},[496,1497,1498],{"class":585},"Internal server error.",[496,1500,1222],{"class":502},[496,1502,1504],{"class":498,"line":1503},23,[496,1505,1506],{"class":502},"        }\n",[496,1508,1510],{"class":498,"line":1509},24,[496,1511,1377],{"class":502},[496,1513,1515],{"class":498,"line":1514},25,[496,1516,1203],{"emptyLinePlaceholder":1202},[496,1518,1520,1523,1525,1528,1531,1534,1536,1538,1541,1543,1545,1547,1550,1552],{"class":498,"line":1519},26,[496,1521,1522],{"class":572},"    w",[496,1524,533],{"class":502},[496,1526,1527],{"class":523},"Header",[496,1529,1530],{"class":502},"().",[496,1532,1533],{"class":523},"Set",[496,1535,579],{"class":502},[496,1537,582],{"class":502},[496,1539,1540],{"class":585},"Content-Type",[496,1542,582],{"class":502},[496,1544,591],{"class":502},[496,1546,645],{"class":502},[496,1548,1549],{"class":585},"application\u002Fjson",[496,1551,582],{"class":502},[496,1553,1267],{"class":502},[496,1555,1557,1559,1561,1564,1566,1569],{"class":498,"line":1556},27,[496,1558,1522],{"class":572},[496,1560,533],{"class":502},[496,1562,1563],{"class":523},"WriteHeader",[496,1565,579],{"class":502},[496,1567,1568],{"class":572},"status",[496,1570,1267],{"class":502},[496,1572,1574,1577,1579,1582,1584,1587,1589,1591,1594,1597,1600,1603,1606,1609],{"class":498,"line":1573},28,[496,1575,1576],{"class":572},"    _ ",[496,1578,1365],{"class":502},[496,1580,1581],{"class":572}," json",[496,1583,533],{"class":502},[496,1585,1586],{"class":523},"NewEncoder",[496,1588,579],{"class":502},[496,1590,1283],{"class":572},[496,1592,1593],{"class":502},").",[496,1595,1596],{"class":523},"Encode",[496,1598,1599],{"class":502},"(map[",[496,1601,1602],{"class":636},"string",[496,1604,1605],{"class":502},"]",[496,1607,1608],{"class":516},"any",[496,1610,627],{"class":502},[496,1612,1614,1617,1619,1621,1623,1626],{"class":498,"line":1613},29,[496,1615,1616],{"class":502},"        \"",[496,1618,1568],{"class":585},[496,1620,582],{"class":502},[496,1622,642],{"class":502},[496,1624,1625],{"class":572}," status",[496,1627,652],{"class":502},[496,1629,1631,1633,1636,1638,1640,1643],{"class":498,"line":1630},30,[496,1632,1616],{"class":502},[496,1634,1635],{"class":585},"detail",[496,1637,582],{"class":502},[496,1639,642],{"class":502},[496,1641,1642],{"class":572}," detail",[496,1644,652],{"class":502},[496,1646,1648,1650,1652,1654,1656,1659,1661,1664,1666,1668],{"class":498,"line":1647},31,[496,1649,1616],{"class":502},[496,1651,452],{"class":585},[496,1653,582],{"class":502},[496,1655,642],{"class":502},[496,1657,1658],{"class":572},"   errs",[496,1660,533],{"class":502},[496,1662,1663],{"class":523},"CodeOf",[496,1665,579],{"class":502},[496,1667,1339],{"class":572},[496,1669,1670],{"class":502},"),\n",[496,1672,1674],{"class":498,"line":1673},32,[496,1675,1676],{"class":502},"    })\n",[496,1678,1680],{"class":498,"line":1679},33,[496,1681,1079],{"class":502},[487,1683,1686],{"className":489,"code":1684,"filename":1685,"language":491,"meta":492,"style":492},"func placeOrder(w http.ResponseWriter, r *http.Request) {\n    if err := svc.PlaceOrder(r.Context(), input); err != nil {\n        errmap.Write(w, r, err)\n        return\n    }\n    w.WriteHeader(http.StatusCreated)\n}\n","main.go",[452,1687,1688,1721,1764,1788,1793,1797,1816],{"__ignoreMap":492},[496,1689,1690,1692,1695,1697,1699,1701,1703,1705,1707,1709,1711,1713,1715,1717,1719],{"class":498,"line":499},[496,1691,503],{"class":502},[496,1693,1694],{"class":523}," placeOrder",[496,1696,579],{"class":502},[496,1698,1283],{"class":509},[496,1700,1286],{"class":516},[496,1702,533],{"class":502},[496,1704,1291],{"class":516},[496,1706,591],{"class":502},[496,1708,1296],{"class":509},[496,1710,1299],{"class":502},[496,1712,1302],{"class":516},[496,1714,533],{"class":502},[496,1716,1307],{"class":516},[496,1718,520],{"class":502},[496,1720,666],{"class":502},[496,1722,1723,1725,1728,1730,1733,1735,1738,1740,1742,1744,1746,1748,1751,1754,1756,1759,1762],{"class":498,"line":630},[496,1724,1346],{"class":1208},[496,1726,1727],{"class":572}," err ",[496,1729,1326],{"class":502},[496,1731,1732],{"class":572}," svc",[496,1734,533],{"class":502},[496,1736,1737],{"class":523},"PlaceOrder",[496,1739,579],{"class":502},[496,1741,1433],{"class":572},[496,1743,533],{"class":502},[496,1745,1438],{"class":523},[496,1747,1441],{"class":502},[496,1749,1750],{"class":572}," input",[496,1752,1753],{"class":502},");",[496,1755,1727],{"class":572},[496,1757,1758],{"class":502},"!=",[496,1760,1761],{"class":502}," nil",[496,1763,666],{"class":502},[496,1765,1766,1769,1771,1774,1776,1778,1780,1782,1784,1786],{"class":498,"line":655},[496,1767,1768],{"class":572},"        errmap",[496,1770,533],{"class":502},[496,1772,1773],{"class":523},"Write",[496,1775,579],{"class":502},[496,1777,1283],{"class":572},[496,1779,591],{"class":502},[496,1781,1296],{"class":572},[496,1783,591],{"class":502},[496,1785,612],{"class":572},[496,1787,1267],{"class":502},[496,1789,1790],{"class":498,"line":669},[496,1791,1792],{"class":1208},"        return\n",[496,1794,1795],{"class":498,"line":690},[496,1796,1377],{"class":502},[496,1798,1799,1801,1803,1805,1807,1809,1811,1814],{"class":498,"line":710},[496,1800,1522],{"class":572},[496,1802,533],{"class":502},[496,1804,1563],{"class":523},[496,1806,579],{"class":502},[496,1808,1302],{"class":572},[496,1810,533],{"class":502},[496,1812,1813],{"class":572},"StatusCreated",[496,1815,1267],{"class":502},[496,1817,1818],{"class":498,"line":731},[496,1819,1079],{"class":502},[448,1821,1822,1823,1825,1826,1828,1829,1832,1833,1835,1836,1840,1841,1832,1844,1832,1846,1848],{},"Ez szándékosan nem RFC 9457, nincs validációs hiba-formája és nincs dev-mode detail-gatingje: azt mutatja, hogy az ",[452,1824,358],{}," nem kényszerít rád semmilyen keretrendszert, nem pedig ajánlott alternatívaként a ",[452,1827,386],{}," helyett egy éles projektben. Amint az RFC 9457 forma, mezőnkénti validációs hibák vagy a ",[452,1830,1831],{},"Stack","\u002F",[452,1834,549],{}," dev-mode extension memberek kellenek, nyúlj a ",[467,1837,1838],{"href":392},[452,1839,386],{},"-hez: pontosan ugyanaz az ",[452,1842,1843],{},"errs.StatusOf",[452,1845,1396],{},[452,1847,1663],{}," hívás van mögötte, mint ebben a kézzel írt verzióban, csak a körülötte lévő gépezet nagy része már megvan.",[473,1850,1852],{"id":1851},"a-kittel","A kittel",[448,1854,1855,1856,1861,1862,1867,1868,1832,1870,1873,1874,1876,1877,1879,1880,1879,1882,1884,1885,1887],{},"Egy generált gpsystem projekt sosem hívja közvetlenül a fenti accessorokat: a ",[467,1857,1858],{"href":396},[452,1859,1860],{},"httperr.WriteError"," teszi, a generált szerver hibahookjaiba drótozva a ",[467,1863,1864],{"href":259},[452,1865,1866],{},"server","-en keresztül. A service-eidben és repositoryidban pontosan úgy írod az ",[452,1869,1169],{},[452,1871,1872],{},"errs.Wrap","-et, ahogy itt és az ",[467,1875,366],{"href":367}," oldalon látod; onnantól az ",[452,1878,358],{}," → ",[452,1881,386],{},[452,1883,457],{},"\u002FSentry az a bekötés, amit a ",[467,1886,224],{"href":225}," végigvezet.",[473,1889,1891],{"id":1890},"kapcsolódó-oldalak","Kapcsolódó oldalak",[1893,1894,1895,1902,1911,1919],"ul",{},[1896,1897,1898,1901],"li",{},[467,1899,1900],{"href":367},"errs: API",": a teljes konstruktor\u002Fattribútum\u002Faccessor referencia.",[1896,1903,1904,1907,1908,1910],{},[467,1905,1906],{"href":392},"httperr: Áttekintés"," és ",[467,1909,395],{"href":396},": az erre épülő RFC 9457 renderelő.",[1896,1912,1913,1915,1916,1918],{},[467,1914,183],{"href":184},": a console\u002FJSON handlerek, amiket a ",[452,1917,1085],{}," kimenete táplál.",[1896,1920,1921,1923,1924,1927],{},[467,1922,193],{"href":194},": a teljes Sentry-integráció, ",[452,1925,1926],{},"StackTrace()"," és kód-alapú fingerprinting.",[1929,1930,1931],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}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 .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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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":492,"searchDepth":630,"depth":630,"links":1933},[1934,1935,1936,1937,1938],{"id":475,"depth":630,"text":476},{"id":1108,"depth":630,"text":193},{"id":1173,"depth":630,"text":1174},{"id":1851,"depth":630,"text":1852},{"id":1890,"depth":630,"text":1891},"Az errs bedrótozása logolásba, Sentrybe és sima net\u002Fhttp handlerekbe.","md",null,{},{"icon":227},{"title":370,"description":1939},"ka21dVuZrijrdUZj5aSeTQaMFTIzdIgDfqZODZpBTsE",[1947,1949],{"title":366,"path":367,"stem":368,"description":1948,"children":-1},"[object Object]",{"title":52,"path":379,"stem":380,"description":1950,"icon":231,"children":-1},"Típusos környezetikonfiguráció-betöltés struct tagekkel.",1785445899045]