asciidoctor / asciidoctor-kroki

Asciidoctor.js extension to convert diagrams to images using Kroki!
https://kroki.io/
MIT License
146 stars 47 forks source link

Weird error when URI is too long #375

Open OlivierJourdan opened 2 years ago

OlivierJourdan commented 2 years ago

I'm using this command on a file that contains a very large PlantUML diagram (File --> 062.adoc.txt)

.\asciidoctor -a diagram-server-url=https://kroki.io/ -a diagram-server-type=kroki_io -a kroki-fetch-diagram -r asciidoctor-kroki "C:\Users\team\Desktop\Large output\Includes\062.adoc"

I'm suspecting that the URI is too large but I get the following error:

asciidoctor: FAILED: C:/Users/team/Desktop/Large output/Includes/062.adoc: Failed to load AsciiDoc document - undefined method `request_post' for Net::HTTP:Class

    res = ::Net::HTTP.request_post(uri, data)
                     ^^^^^^^^^^^^^

Use --trace to show backtrace

The thing is that I was thinking that using the kroki-fetch-diagram attribute should have prevented this kind of error. What am I doing wrong or what I don't understand?

ggrossetie commented 2 years ago

@OlivierJourdan Are you using Ruby > 2.4 ?

OlivierJourdan commented 2 years ago

Yes, Ruby 3.1.2.

ggrossetie commented 2 years ago

Oh I remember now, it was fixed in https://github.com/Mogztter/asciidoctor-kroki/commit/242ca5d7fcc8df791caac436844108a0987994a3 but I need to release a new version.

OlivierJourdan commented 2 years ago

Good to know there is already a fix 👍

Question: Why does the error only appears on a large diagram? (I don't understand the fix 😅).

ggrossetie commented 2 years ago

Question: Why does the error only appears on a large diagram? (I don't understand the fix sweat_smile).

You can take a look at: https://docs.kroki.io/kroki/setup/configuration/#_max_uri_length and https://github.com/Mogztter/asciidoctor-kroki/tree/ruby-v0.5.0#configuration

Basically, there's a URI limit so when the size exceed 4000 characters we switch to POST (instead of GET)

OlivierJourdan commented 2 years ago

Thanks for the hint.

ggrossetie commented 2 years ago

@OlivierJourdan Just released version 0.6.0, could you please give it a try and report back if you have any issue?

OlivierJourdan commented 2 years ago

It's working like a charm 😄 Thanks for the really quick support 👍

A subsidiary question, for PDF generation I'm using the following command asciidoctor-pdf -a diagram-server-url=https://kroki.io/ -a diagram-server-type=kroki_io -a allow-uri-read=true -r asciidoctor-kroki "C:\Users\team\Desktop\Large output\Includes\062.adoc" the generation is not failing but I don't get the image.

The output says: asciidoctor: WARNING: could not retrieve remote image: https://kroki.io/plantuml/svg/eNrtHGtz3Lbxu34Fxvpi1XNt2qaejqYfcrqTrLP1ik5SOvnSgUjoxIhHXEBS1tXNfy8WDxIg8eBZkuW4dSYzkrBcLPaF3cUCP5QVZlW9zLdKUqECL0m5wgmZkxVmuKIM7W6Vd1kBvy3RJMdluYeTuwWjdZFOaM4Btg_Evx4YZSlhCuRv4l8X5IAWlQL4TvzrAhwSzHH0Jvz7d_DflgFd0RX_H13TqqJLlGaMJFVGi60EsKBXE3SIizQn7I_5fZ5d745foU9bW79t9QYmr9A__jMaub7Y2vJh29sY214A2wSwfbrJSJ7-ht4c07TOCZqlaBfN_vqXZmD7Cuc1Kflfj_EKcb7kcsXo9R1Z76J5xbJigUZIgO2iKa2vOZqDnOJqZ-sTl3mVJb-hT0tS3VJAd06W9J4ghfWCop9YVpHXLtg34zSVgBG4CSPYNzYlZcXo2j2ocXKeetk03Zjp0wDT9zfGth_AdrAxtgMD2zuhAA0zDhjX6DlhGc7RAWVLYFkzyAVgD5ksO7Q06YSbNtKa0f55zNXmHgb2KM0JLowP6uU1Yej0Bk1InpdaAX1yRifkIzq0qNuYdFi7ZNChwZDZ560jSOgF1z-0R4rk9qkonhkUv7co9rJ49B5d3DJS3tIc7Ns0UhNmfE8YXpAehHeBk5oxUlTofcguBRveP9Xq3xur__AM8vrwVIR-MAgdr1Z5lmDhNy_wolTGeCTo75Nzel3hrODiwFmOQQ4TnCd1DrtkaVEwThLC8XPfTeyB9gMEbLHH6HJVV_bf3vEteUKLm2xRM0kmLhUnbcSzIqv4irN_298rio1pud9NWLYCXDbT8ALNac0Srl14meVrxTcPi_iPmqFeJkb5fGzpCQiLE9lXldFBif4E3_1L7IKD9rvZ2-93-giQ0sVBKOTvLZY3Z5iVJEUtnZO8LivCnJp7S5I7NC5SJL7SHwXt8dg9CjpwoKhxQ1yuUvj-4HG69pkqFFCSo4iKHMdV5MRSkZ-yIqUf0etyx-ct3xhS7qrRnDOOLMEvnpMbwh1kAlBHVzLU_PKcayHPCfeAXEs48Y_j6MmrrQAn_wBfzn88Qg0n4gI4tW00y7nCo4v1Cli3X9RLdPnnt5sIaKRBVjQrqp1OVDtS7EVHZwfoKrMEdXd0dXr9y9UsKGuHcWmMfNIzWKlcgzKmb0Dmp3EhXojdSvjsVpijWcFXhfwG80YC7KIxY3iN6I3H5E7rKgjnTiBgUz_DGfM7vWPOyGP84AeQyxqXQefIN-HsZi2mQuMKzYqUeFCqFKgH-TvyqK2gB-jEAr3jSfVKeIOs5MwoeyoCQLNpacqW76xWdup0BCOtVSV6PSu4uRU8Gqu5ttMiX--Y6PyGK5XkQWpoE3OFtEEvaFbc0KCIAXRv3QjRu6NK2_x9KYBHqlF9mOJflw9N5tD4Bsv9q78StsxAoHZkGksPPRMMC5wHB8KuONYh1_IuzGdJbDzK9XFtILun2SKrOCdtdkdY2PtoGAtfhDP9BW7IGbW5dDVxSm5wnVeqDDU4MfbhfmIlVAZuEfn1yMJg6UBh8OyFU-r0CaM9lqULInwuW2pP0GRGTeydcDfIsysPWE9gGq3N7vBWP9qHhI7xVeToknveMgZ_drsuh0Nf0byCKsz-Q5JVkh4lwkgEYuleh5XfgvfrasdApTqvUs82AyNjb4YHo3vB0Yl3VDtqQ4avxzsI-dF95x8iJd9fMSQnzo0wMKcSkW_HHPk_ieiol6ZNVNQSzLegoLamDVTP3o4z_pH_tXEZk1tcFCR3ZE3Smfhku71XZ3naw-MUi4IF30kCwaonHrNE3lZOVQavs75Zcc89cwp0MJzwoc-T62DJDZXZJpJKPH5k8ksSkBOM2oZojrgDi6bykOgaiM-CW-QCMGK3Gt8mZmou-1uwUkuMA0Wv9-RnS1d6E3wLnO5zbUN2e4LyIfx-kgC-T8f_RADvYH_8LCsrCGaWmOY5XfldmyjXJGRV9SDcshC7k80b7smim4D8LnaGJIkfVt-01igLYZ6THnNZw1skREHK0ogyUsD8QNaheiOAiGLj6Y3GFy5QtjVPaTVjS3n9pU9GRiVwO20V2Qs8NwDLYBGtw4Ivrx1S6oMKnQrdp88hM4ZfnV_b5yQ4L4k-UeyHHhesdowapcTinrDKaMa5IA9VjzwdEkZYCaARTuolRNcKhV47Ks6EYWG23szYmsPVsJnNKrL09yCdMqS01g8HNgOjYUsZYK3GTAAaNA1NzstJVAgqKk4hlN4hPJfT6w8yONhBwbO1WYnUB1eQRLzskuViBrkDia2_7NBaVUgA2d0j1xmjcDI-6YVW_zzZv0DzbAFx1S46oYAy1ACECx0V9WHm6rBERkJI9NJMr7-GCOpReaNmWzyW7XGXOxMG692Vh1j-6PMLZQCPy58Hn_8NadNSaW7bJdFEkaIq4RoJp87nuOAhLJztRiDwgxdinGO2FCf6YYjDbHEbAAGzDSMBiCASuVZ51pYlrsq37j8wzuNkY4OzpcHQJ2eDxZgronNgwvVzQcU27GjLYJRTcCr7KHp9ntOsXOUYNj_OdHBxWbArb3RZ3BX0YyG86GhEGKPuGHi7v3Q3HNiKuXBOEIR2pdhHPd-07vjXmjTlLE-sYOAOhgGCu0GIhs1hKAopVNsjDeQJrfaByy0Ed-P6MLhEHKwUeceFexL-wc82owcDTUihaoNuOJ2_RDISOBBv1QEdknzlw6oELJ2BaFjyhVxwb6HBGd7yKop-JoyG8iCVu_c3LK-rf6aSanQHtTuIHrejiNawJjQaCCuzqniUucHJ7de8sZo9-pICNcAdJ7fF07rq3tywfbhpwBB4XWXkYzeUrBjNeU5aYWvgEJa4Ikl2w41Gfu1SlVSx9pwsZF-JCwhsznUw0MHvOT4wsneLBc2UzQUHN4M8HDybTS3enfnLU96Rqbfl8Iwbo7eZsO8BODE8URX5XkZ6Sc3TSi7cIfQogSr38MWEDDL0iNf4MB5xnjEqTF87iH6A2TQc9ofErQLuv1NXoAObGd8JROepV41gt4sCQdSoZA7VsoYgN7SIIIeD7xcLvJCNyq4lGsPRyyMmMERjmGWlqMX3Y0Ttl6NrF6spV8TN4ynl2SmfTPS_Wyvpg64L7pcTc8Z2tX2zdC8lWtZpb2s0e4mzkCHRp75gBGcV34s7FAcjFyXlYBerArVVHm4NyI-DH8HOpMsvoXDRBJ-lcRh_QNiYMWy5pWPL_b97VF5Oh0g-hzgnPGvhO9EQf2j0hjpG20t6-w8kqR1HbSM9GezBAFRBTtY5jptXZGW1-fb8DlyfYBWf-yJbioB8ueLw8EsJP5twZBWYanSES1BYDtRS7MPpbx0HBG4tlVg5OrVsv2to54f0oQ44ER3Sa5wB0IbbU8L1L4_nROIjYEf48EemTsE1zcq2DuutTfsZd07EjW0BUQaTI58IhdSCX6rZoQrqswgqbqlwuFce24EhswPx3eVs6rKMzzEnHT_IpnNxjlG6Lm7aw43VdKs_LT5wgVlR07rUkUAIfRB6wGw_4Sq5Tamm0bX7NiAit3ZBNNiOWkQuYo8MJL3y1wXLFguuVLsBakWBQbW8-Qk2oaCN1F1s8_INnEaId43dTnCehy_3aR9kT-E_pxL3jRuFicNxvGnmB5XRD0Hvap-p63K1Dun8vpK7tRpAWztuJi8j7tWLtM3QY5UsBQlMLBtBDfjGtL6B4O2yYl8M8qJDRG9cNhkIFhG88qEOJW9Dp-BXMYrbay9DwUyKrdcaTI8tz9hld5CyYPssnrN8aoVY6tULu87TCys7FbJeHcwTpwlynCmsi9ABa1KN9ZE1PSu1moQB1Ip27ZekVRIwgNLzKn1JOmH6AVReJC9JJJ99AI2qc-zrtzpNaHBNKrN-UbPr0DCE3mFCeF56h_DX9f6Q7xGP6QQCf-hjUuVuT9e7fjqjA68SI4SLcMtZ_-UN2dYdBldmDCdIHsB5vVpRBuVC1Qcmzgs6T2tsYiY9uUiMfsH4JNFeDu20rWHOBh4rij26ruhT6E6ARoMMH6Hjk36nChR6ruFsqu1VscZFk-kNTrwAKvr2De9PLkNtMCPFCNUwIzpcDhhcR_bEy2o2KEeJ2A8m8IS_fGYwhtEo4bFkhX1FQHUoCseACrmgYpxnfI6g1ppEKzKeU8BcfN5jLXlx262AlKE2cu2-PPJFdbSh0-fUPL0-vYMH7gl0C9BLrcV7hKK_GVAvlBV4o6tDJWPBp5aMNTT357-8zD0uhq7WYsbe2wR8V0MjRbOvAXX29vvuu0DhptNg00TzsEEsmYumTrN4dnUqjgC8fJlnyzrPijs0zfMBmjHiYAgFxs6xrGnI8xoXxBVhpbNwBo-JcPMpXU87dEHEKYPnRYkRxCkxRA2ME5Nbbu9IQZi4iO57GwKgjjg3wzEF50JQbMAl_xzWuxJeuUIsoYx2iMHPeAqeiEfIhj5tpYv7xuNWP1O-3ezVVSVrjJ-JZtQ-1YnOsqSqGYH3doi-LdeVpA_cq4VvDuky_GjcSCBQ52LgCJsYL9SrJhxAw0g_iMEmN1B_RX5tu8zQ6fUvnMXojJaBuk9DV8MkiJcFS4OvmMxUr3J_5IjiFA0lVTe1h7mjoKIMOid8W-KBn1y550Yr2DUcg7aqHbSnlkExxzuI3wpWLGU45AVmCwj6VL7cB4YRmeqYxuYKECwHIM4SmxW-ioICciOKmN9iRlJ90UPMab_fIP6kNcBr-7phIOhEVMxBWmsOH-mHHoiddRrttzuE2tHHrWgTtEFCIYgTpGgVF0Rica6xVR22ufi65ea2EIua0ScZITUz0Hast0eUnsBBUVALpPNszcaOq-Bykm6-mYsKfaMLjs1YXnWKwzvuSOe0lFfN4NUtucxIWjU6XfF9fLNv9GlIb9WWdondH69pXfX-bLSgOrVv2_GdUjfJFtjN-G-EudTOBnXp5X6aVf0ynJFcWMI1hOpS1J7oPToi7N2tIKIrOxSfNU9TD34QTonInvTZmNBZm4cDzsU3lxu6cQnQp-6c9k4uHVHOrv7J7FKUQ2dYhr-9w02XHj7GXY8ETx-FqW-g8uKFJHWgTctrFht9otvb4Xm4UOxiLREdU3iC7vSesBh-87MYrCgsDQUWzSRLuMSte6H6MLNiM2aItACe0o8BqmhlYNy3PVeXIg9o4umN2VYYRXKVJYHERwksEkMKtk8znNPFxhEtrovkFkUxHPMgNZjgAQZ9ARp9QPv3xLevqMVHbyh0bxQ4IkMxWV-Ev4fdKR56uV33hgFZ3OeHIzQzgPa5-SFxmh62utW9Tp1HxEtSlKpxJ9BSol4FCqVhyoSCMMf03oQwKww-XpnrULmOq1mnU3t4vsjbXRbc-oEUab3M_wu9MIwn; 414 URI Too Long asciidoctor: ERROR: cannot fit formatted text on page: tXNfy8WDxIg8eBZkuW4dSYzkrBcLPaF3cUCP5QVZlW9zLdKUqECL0m5wgmZkxVmuKIM7W6Vd1kBvy3RJMdluYeTuwWjdZFOaM4Btg_Evx4YZSlhCuRv4l8X5IAWlQL4TvzrAhwSzHH0Jvz7d_DflgFd0RX_H13TqqJLlGaMJFVGi60EsKBXE3SIizQn7I_5fZ5d745foU9bW79t9QYmr9A__jMaub7Y2vJh29sY214A2wSwfbrJSJ7-ht4c07TOCZqlaBfN_vqXZmD7Cuc1Kflfj_EKcb7kcsXo9R1Z76J5xbJigUZIgO2iKa2vOZqDnOJqZ-sTl3mVJb-hT0tS3VJAd06W9J4ghfWCop9YVpHXLtg34zSVgBG4CSPYNzYlZcXo2j2ocXKeetk03Zjp0wDT9zfGth_AdrAxtgMD2zuhAA0zDhjX6DlhGc7RAWVLYFkzyAVgD5ksO7Q06YSbNtKa0f55zNXmHgb2KM0JLowP6uU1Yej0Bk1InpdaAX1yRifkIzq0qNuYdFi7ZNChwZDZ560jSOgF1z-0R4rk9qkonhkUv7co9rJ49B5d3DJS3tIc7Ns0UhNmfE8YXpAehHeBk5oxUlTofcguBRveP9Xq3xur__AM8vrwVIR-MAgdr1Z5lmDhNy_wolTGeCTo75Nzel3hrODiwFmOQQ4TnCd1DrtkaVEwThLC8XPfTeyB9gMEbLHH6HJVV_bf3vEteUKLm2xRM0kmLhUnbcSzIqv4irN_298rio1pud9NWLYCXDbT8ALNac0Srl14meVrxTcPi_iPmqFeJkb5fGzpCQiLE9lXldFBif4E3_1L7IKD9rvZ2-93-giQ0sVBKOTvLZY3Z5iVJEUtnZO8LivCnJp7S5I7NC5SJL7SHwXt8dg9CjpwoKhxQ1yuUvj-4HG69pkqFFCSo4iKHMdV5MRSkZ-yIqUf0etyx-ct3xhS7qrRnDOOLMEvnpMbwh1kAlBHVzLU_PKcayHPCfeAXEs48Y_j6MmrrQAn_wBfzn88Qg0n4gI4tW00y7nCo4v1Cli3X9RLdPnnt5sIaKRBVjQrqp1OVDtS7EVHZwfoKrMEdXd0dXr9y9UsKGuHcWmMfNIzWKlcgzKmb0Dmp3EhXojdSvjsVpijWcFXhfwG80YC7KIxY3iN6I3H5E7rKgjnTiBgUz_DGfM7vWPOyGP84AeQyxqXQefIN-HsZi2mQuMKzYqUeFCqFKgH-TvyqK2gB-jEAr3jSfVKeIOs5MwoeyoCQLNpacqW76xWdup0BCOtVSV6PSu4uRU8Gqu5ttMiX--Y6PyGK5XkQWpoE3OFtEEvaFbc0KCIAXRv3QjRu6NK2_x9KYBHqlF9mOJflw9N5tD4Bsv9q78StsxAoHZkGksPPRMMC5wHB8KuONYh1_IuzGdJbDzK9XFtILun2SKrOCdtdkdY2PtoGAtfhDP9BW7IGbW5dDVxSm5wnVeqDDU4MfbhfmIlVAZuEfn1yMJg6UBh8OyFU-r0CaM9lqULInwuW2pP0GRGTeydcDfIsysPWE9gGq3N7vBWP9qHhI7xVeToknveMgZ_drsuh0Nf0byCKsz-Q5JVkh4lwkgEYuleh5XfgvfrasdApTqvUs82AyNjb4YHo3vB0Yl3VDtqQ4avxzsI-dF95x8iJd9fMSQnzo0wMKcSkW_HHPk_ieiol6ZNVNQSzLegoLamDVTP3o4z_pH_tXEZk1tcFCR3ZE3Smfhku71XZ3naw-MUi4IF30kCwaonHrNE3lZOVQavs75Zcc89cwp0MJzwoc-T62DJDZXZJpJKPH5k8ksSkBOM2oZojrgDi6bykOgaiM-CW-QCMGK3Gt8mZmou-1uwUkuMA0Wv9-RnS1d6E3wLnO5zbUN2e4LyIfx-kgC-T8f_RADvYH_8LCsrCGaWmOY5XfldmyjXJGRV9SDcshC7k80b7smim4D8LnaGJIkfVt-01igLYZ6THnNZw1skREHK0ogyUsD8QNaheiOAiGLj6Y3GFy5QtjVPaTVjS3n9pU9GRiVwO20V2Qs8NwDLYBGtw4Ivrx1S6oMKnQrdp88hM4ZfnV_b5yQ4L4k-UeyHHhesdowapcTinrDKaMa5IA9VjzwdEkZYCaARTuolRNcKhV47Ks6EYWG23szYmsPVsJnNKrL09yCdMqS01g8HNgOjYUsZYK3GTAAaNA1NzstJVAgqKk4hlN4hPJfT6w8yONhBwbO1WYnUB1eQRLzskuViBrkDia2_7NBaVUgA2d0j1xmjcDI-6YVW_zzZv0DzbAFx1S46oYAy1ACECx0V9WHm6rBERkJI9NJMr7-GCOpReaNmWzyW7XGXOxMG692Vh1j-6PMLZQCPy58Hn_8NadNSaW7bJdFEkaIq4RoJp87nuOAhLJztRiDwgxdinGO2FCf6YYjDbHEbAAGzDSMBiCASuVZ51pYlrsq37j8wzuNkY4OzpcHQJ2eDxZgronNgwvVzQcU27GjLYJRTcCr7KHp9ntOsXOUYNj_OdHBxWbArb3RZ3BX0YyG86GhEGKPuGHi7v3Q3HNiKuXBOEIR2pdhHPd-07vjXmjTlLE-sYOAOhgGCu0GIhs1hKAopVNsjDeQJrfaByy0Ed-P6MLhEHKwUeceFexL-wc82owcDTUihaoNuOJ2_RDISOBBv1QEdknzlw6oELJ2BaFjyhVxwb6HBGd7yKop-JoyG8iCVu_c3LK-rf6aSanQHtTuIHrejiNawJjQaCCuzqniUucHJ7de8sZo9-pICNcAdJ7fF07rq3tywfbhpwBB4XWXkYzeUrBjNeU5aYWvgEJa4Ikl2w41Gfu1SlVSx9pwsZF-JCwhsznUw0MHvOT4wsneLBc2UzQUHN4M8HDybTS3enfnLU96Rqbfl8Iwbo7eZsO8BODE8URX5XkZ6Sc3TSi7cIfQogSr38MWEDDL0iNf4MB5xnjEqTF87iH6A2TQc9ofErQLuv1NXoAObGd8JROepV41gt4sCQdSoZA7VsoYgN7SIIIeD7xcLvJCNyq4lGsPRyyMmMERjmGWlqMX3Y0Ttl6NrF6spV8TN4ynl2SmfTPS_Wyvpg64L7pcTc8Z2tX2zdC8lWtZpb2s0e4mzkCHRp75gBGcV34s7FAcjFyXlYBerArVVHm4NyI-DH8HOpMsvoXDRBJ-lcRh_QNiYMWy5pWPL_b97VF5Oh0g-hzgnPGvhO9EQf2j0hjpG20t6-w8kqR1HbSM9GezBAFRBTtY5jptXZGW1-fb8DlyfYBWf-yJbioB8ueLw8EsJP5twZBWYanSES1BYDtRS7MPpbx0HBG4tlVg5OrVsv2to54f0oQ44ER3Sa5wB0IbbU8L1L4_nROIjYEf48EemTsE1zcq2DuutTfsZd07EjW0BUQaTI58IhdSCX6rZoQrqswgqbqlwuFce24EhswPx3eVs6rKMzzEnHT_IpnNxjlG6Lm7aw43VdKs_LT5wgVlR07rUkUAIfRB6wGw_4Sq5Tamm0bX7NiAit3ZBNNiOWkQuYo8MJL3y1wXLFguuVLsBakWBQbW8-Qk2oaCN1F1s8_INnEaId43dTnCehy_3aR9kT-E_pxL3jRuFicNxvGnmB5XRD0Hvap-p63K1Dun8vpK7tRpAWztuJi8j7tWLtM3QY5UsBQlMLBtBDfjGtL6B4O2yYl8M8qJDRG9cNhkIFhG88qEOJW9Dp-BXMYrbay9DwUyKrdcaTI8tz9hld5CyYPssnrN8aoVY6tULu87TCys7FbJeHcwTpwlynCmsi9ABa1KN9ZE1PSu1moQB1Ip27ZekVRIwgNLzKn1JOmH6AVReJC9JJJ99AI2qc-zrtzpNaHBNKrN-UbPr0DCE3mFCeF56h_DX9f6Q7xGP6QQCf-hjUuVuT9e7fjqjA68SI4SLcMtZ_-UN2dYdBldmDCdIHsB5vVpRBuVC1Qcmzgs6T2tsYiY9uUiMfsH4JNFeDu20rWHOBh4rij26ruhT6E6ARoMMH6Hjk36nChR6ruFsqu1VscZFk-kNTrwAKvr2De9PLkNtMCPFCNUwIzpcDhhcR_bEy2o2KEeJ2A8m8IS_fGYwhtEo4bFkhX1FQHUoCseACrmgYpxnfI6g1ppEKzKeU8BcfN5jLXlx262AlKE2cu2-PPJFdbSh0-fUPL0-vYMH7gl0C9BLrcV7hKK_GVAvlBV4o6tDJWPBp5aMNTT357-8zD0uhq7WYsbe2wR8V0MjRbOvAXX29vvuu0DhptNg00TzsEEsmYumTrN4dnUqjgC8fJlnyzrPijs0zfMBmjHiYAgFxs6xrGnI8xoXxBVhpbNwBo-JcPMpXU87dEHEKYPnRYkRxCkxRA2ME5Nbbu9IQZi4iO57GwKgjjg3wzEF50JQbMAl_xzWuxJeuUIsoYx2iMHPeAqeiEfIhj5tpYv7xuNWP1O-3ezVVSVrjJ-JZtQ-1YnOsqSqGYH3doi-LdeVpA_cq4VvDuky_GjcSCBQ52LgCJsYL9SrJhxAw0g_iMEmN1B_RX5tu8zQ6fUvnMXojJaBuk9DV8MkiJcFS4OvmMxUr3J_5IjiFA0lVTe1h7mjoKIMOid8W-KBn1y550Yr2DUcg7aqHbSnlkExxzuI3wpWLGU45AVmCwj6VL7cB4YRmeqYxuYKECwHIM4SmxW-ioICciOKmN9iRlJ90UPMab_fIP6kNcBr-7phIOhEVMxBWmsOH-mHHoiddRrttzuE2tHHrWgTtEFCIYgTpGgVF0Rica6xVR22ufi65ea2EIua0ScZITUz0Hast0eUnsBBUVALpPNszcaOq-Bykm6-mYsKfaMLjs1YXnWKwzvuSOe0lFfN4NUtucxIWjU6XfF9fLNv9GlIb9WWdondH69pXfX-bLSgOrVv2_GdUjfJFtjN-G-EudTOBnXp5X6aVf0ynJFcWMI1hOpS1J7oPToi7N2tIKIrOxSfNU9TD34QTonInvTZmNBZm4cDzsU3lxu6cQnQp-6c9k4uHVHOrv7J7FKUQ2dYhr-9w02XHj7GXY8ETx-FqW-g8uKFJHWgTctrFht9otvb4Xm4UOxiLREdU3iC7vSesBh-87MYrCgsDQUWzSRLuMSte6H6MLNiM2aItACe0o8BqmhlYNy3PVeXIg9o4umN2VYYRXKVJYHERwksEkMKtk8znNPFxhEtrovkFkUxHPMgNZjgAQZ9ARp9QPv3xLevqMVHbyh0bxQ4IkMxWV-Ev4fdKR56uV33hgFZ3OeHIzQzgPa5-SFxmh62utW9Tp1HxEtSlKpxJ9BSol4FCqVhyoSCMMf03oQwKww-XpnrULmOq1mnU3t4vsjbXRbc-oEUab3M_wu9MIwn Does the kroki-http-method attribute can solve this? (I'm going to test).

OlivierJourdan commented 2 years ago

Does the kroki-http-method attribute can solve this? (I'm going to test).

No, it's not working. As far as I understand, ascidoctor-pdf is reading the URI and getting the error. I should look at asciidoctor-pdf documentation.

ggrossetie commented 2 years ago

I see two issues:

ggrossetie commented 2 years ago

That's strange because Kroki server says that the request URI's length exceeds 4096. If URI length exceeds 4000 we should be using a POST request:

https://github.com/Mogztter/asciidoctor-kroki/blob/0667f6313ea97871292d6ab1f25b30b43eea03e5/ruby/lib/asciidoctor/extensions/asciidoctor_kroki/extension.rb#L359-L367

I don't get why we are using a GET request... Does it work if you configure kroki-http-method: post ?

ggrossetie commented 2 years ago

OH I see, you need to add kroki-fetch-diagram=true otherwise it will use a GET request (since we don't download/fetch the diagram from Kroki).

The following command should be enough:

$ asciidoctor-pdf -a kroki-fetch-diagram -r asciidoctor-kroki doc.adoc
OlivierJourdan commented 2 years ago

Sorry for the delayed reply, I was not able to test anything until now.

You're right $ asciidoctor-pdf -a kroki-fetch-diagram -r asciidoctor-kroki doc.adoc is working fine. I came to use a different command due to the issue with png file generation on windows (#369). Note that I'm not sure it was related, but this is where I ended up.

So,

  1. I can confirm that I can generate a large document (17+ Mb for the PDF) in PDF or HTML format with the same attributes in the command
  2. I guess that the v0.6.0 also fixed #369. In any case, I could have generated each format (with png and SVG files) twice w/o issues with the images generated. Note that the second generation is much faster as far as the existing images are not fetched if I correctly understood the fix.

Long story short: everything is working! Thanks for your quick and efficient help 🙇‍♂️ 👍

I think the issue can be closed.

ggrossetie commented 2 years ago

Thanks for your input!

Note that the second generation is much faster as far as the existing images are not fetched if I correctly understood the fix.

If the file already exists on disk it should not fetch again from Kroki. I believe that's why it's faster.

I think the issue can be closed.

I will keep it open since I think we should add a note in the documentation on how to resolve/workaround the error "414 Uri Too Long".

enrikb commented 1 year ago

Please also document explicitly that GET will always be used as long as kroki-fetch-diagram is not set, even though kroki-http-method is set to post or adaptive (with very long URL). Took me quite a bit to find out ...