// Package api provides primitives to interact with the openapi HTTP API. // // Code generated by github.com/deepmap/oapi-codegen version v1.9.0 DO NOT EDIT. package api import ( "bytes" "compress/gzip" "encoding/base64" "fmt" "net/url" "path" "strings" "github.com/getkin/kin-openapi/openapi3" ) // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ "H4sIAAAAAAAC/+R9724bOfLgqxC9B2QGJ0uOnb/eL5dNJjvOZia52Nk5YBJYVHdJYtwiNSTbiiYIsA9x", "b3K3wH24/fR7gewb/cAqsputZltyEmcy88uHwHY3yWKx/rOq+l2Wq8VSSZDWZEfvMpPPYcHxxwfGiJmE", "4pSbc/d7ASbXYmmFktlR6ykThnFm3U/cMGHd7xpyEBdQsMma2Tmwn5Q+Bz3MBtlSqyVoKwBXydViwWWB", "PwsLC/zhv2mYZkfZn0YNcCMP2eghDcjeDzK7XkJ2lHGt+dr9/kZN3Gj/Z2O1kDP/97OlFkoLu45eENLC", "DHR4g/6aGC75Iv3g8jmN5bbauh2HvxN60+2Im/N+QKpKFO7BVOkFt9kR/WGw+eL7Qabhl0poKLKjn8NL", "Djl+LzVs0RY2sBShJIZq0JzX63pdNXkDuXUAPrjgouSTEp6oyQlY68DpUM6JkLMSmKHnTE0ZZ0/UhLnZ", "TIJA5krk9GN7np/mINlMXIAcsFIshEU6u+ClKNz/FRhmlfubAeYnGbJnslyzyjgY2UrYOSOk4eJu7ZoE", "O8jfJLYCprwqbReu0zkw/5DgYGauVtIDwyoDmq0c7AVY0Ashcf25MAElQ5o+mjO9RP2XkVWqtGLpFxKy", "WcjRo57yHHBSKIR1W6cZPfxTXhoYdJFr56Ad0Lws1Yq5oZuAMj617p05sDdqwubcsAmAZKaaLIS1UAzZ", "T6oqCyYWy3LNCiiBhpUlg7fC0ITcnBs2VZqmfqMmA8Zl4QSIWixF6d4RdvhKNoQ+UaoELnFHF7zs4uf5", "2s6VZPB2qcEYoRD5E2Du7YpbKByOlC5og+EcAHfSProarvpsBl3SOId1F4bjAqQVUwHaT1KT/IAtKmMd", "PJUUv1REiP7Q3nhGSK7jGIPrWYIXHsg1g7dWc8b1rFo4CRPobbJcD91AMzxRC3hOvLX+5luWu2OoDBTu", "zVwDt0Bb9fy3jmBoWLyRLFcgIbFYQCG4hXLNNLipGMetFjAVUrgBAycIcHm35ABxoirrIeLairwqua7P", "oYceTDUJ4vMyqZsQVCd+ZM3qV57h1A+/EEZ4JrviDH93I0XpBPCmFHc05iHbUfKeNKjYEMDVZM89IYwT", "zQW0soeV1iBtuWbKiUoe5kUijoSlGbLx9w9Ovv/u0dnj46ffnT1/cPr9mAyBQmjIrdJrtuR2zv47G7/K", "Rn/Cf6+yMePLJcgCCjpCkNXC7W8qSjhz72eDrBA6/Ih/9kprzs0cirPmzdcJHuk7l64M9RiIdh8xJmkI", "btjxo8AyuG0nOP5SOvj1kP2omATjxImxusptpcGwb1BDmAErRO6W4lqA+ZZxDcxUy6XSdnPrHviBMx4O", "D9ymS8VtNkC63nWTEenEnFkT4yClPa1CldGWcGzsx4yPGC9XfG3wpSEbo1xHeTo+IvLA0V50vTwmXY4I", "9RpAs29KcQ6MB6QxXhR7Sn47ZOMVTFLTrGDSaC2kugWXfAZOqA3YpLJMKksK1K9CagnpeMjGc1EU4ACU", "cAEap/7zJi170eggJSXjXkTkoAHrVpe8bMuacFoNQmmlDIWOx0s2yFYw2XpmaYoMRlBDJ2Q8C8N+QBRo", "0ozCokTkC6e3EhZTySdQXs2S9Tvd3QpPWXodI2lDhHk2JvCiNbfJM4ethM57KowNDIwSqR9vXRwF6/bj", "dnzaUhQ9222WSG0wuDGdbfkHTIMzXlCTc2bIZvbGt6NfeAt5ZWGbe9Xvu9QEFD0O4KUPLhqS2tF3Wivd", "3c9fQYIWOQP3mGkwSyUNpBzBIsET35+ePmfkrTD3Rm0l1BOxY8exeVkVZNY5bCz5ulS8YMbxObcNAgna", "Fm6dLYqgCUl+lVBy+Eo+dIvd3j90Kg2NJJQ4aCByyyfcgHsyqcx6yJw5joAGoNhKlCXLlbRcSMbZjRdg", "9XrvgTOXb9Crc+BofjrwhCxEzi0Yb1Cv5iKfMysWZJG6owBjWc6l000arBbOtn6snGUepJ+fUBiUj45M", "uNPBQWTcMKxaBsGXlwKkRdtXMaMW4OzPGdPAjZIoIVFqw1tiAsFLNuH5uZpOSRbWDmjQWF3vdwHG8FmK", "9jaIC8+9eT9FWY9LvgCZq7+DNt4f2pHKL5oRl0MRXvQyMgXFE4ou8LJ8Ns2Ofr5cWpwEF8iNej/YBJjn", "VlzUujom+EfNb8E+K7mxLIxgzpnxjlLSSSBLPiVY3AP0hcQCjOWLZXySBbew556k5hSJ6V6+PH4UIHyC", "sYUtYYldIyJOo9QBkWpZpHdzGjbhYEAM0avDHTe1cf4IcEBds2wUKamP7PX710QNP4DlThjggRYFujG8", "fN466A4ONvw2PRFWc71mCz+Zt7HNkP2gNEr8ZQlvYwPTi4GFcv40qrrKSTc25sPJMB879qdzDm7nOaAr", "B2+5m8tzD1L1UXay1MICe6zFbO5MzsqAHsKCi9JBvZ5okP9j4u1dpWfhDWK47ARfYCf2P/7/BZSRRmxx", "zUlkXKTxZHUFPWNrkgn2F54DRqK4zB0GKCi1LMH6nyUhSyi5N+WC3qh/WHInzbNB9ksFFf7AdT4XF9GP", "ZIzT9Hte+OJj/LkCel45nOzFqyXNvnoPD+dczqAru0jopmM89CwKQnhFiFMNPwuLbfBBTe4erB5BeMrN", "uTmpFguu16kI32JZiqmAgpXeSKMoT/APhuwh6UbSv/iwse3dn5wydq8Dd5qQm/OuwYCjdjbfMM7qAd7B", "cjN9Ozf/swLac8RPGH7Mjm47NdbIhD4uez/IMPZ0NlljfHZT1rwOP50J2aL4mmQ9Nb9+3zH9CZB32UJI", "sXAMczOtnD9Zcj0WpTNVJo3kGgQ59PT4b981YigZRVLTqYE2oPspQBs8vbtCaNbsKHD6dhSFBMxVdhWd", "2iZLvABbaUl+qCMvCj7zwNHCK3XcQisOvbOm7FB0P/W+AOMj1x2naHeGIsPmIxnJ+2UPlZyKWaW5TZp1", "Zs4XXH6HFmmRvACgAOMc2Am+yqbCefeaSzMFzR48P8aIVPDchumQoVWaz+Cpynk62v6ojmehI+CksaMQ", "XMsPHm41MDZXGWzsLo2l9d8Ali8qKZM3Kce137CKULFCV5At+JqdAyyZpuH4LC1JF511ulhq1FSPziH9", "9qJWl5dAG3yyWJuxWtHWdgttZMiOLTNzvEeoDHlEY3rkiB/GzG3FW7ZxMJ+8KLcIBnxmyv0v4a0dsmPv", "RArDxk4UjAds3EbCmP3w8uTU2VljDG6P0wHnjUPeQGSNtT4cpQ79BcyEsaChIJ++yxa8KDSYtCh0lvBZ", "7F10Y0AiP++PCpTcOus5fc5qaldcwyVEsE1o/FSfGwmtOmJzVt8xmqvJ+k+6E61xMaiRGt+NBmQMspyi", "4ghltonlCDM9O0qd8wnklRZ2XYdNNnhyV//5MseZpOLDOeTnqkpcVZ4AGmdOknmNZOcgNDv5/sHB7Tss", "dwNNtRgwI37F0PdkbcFQSKEA40BgpZdoIfaS+9Waa4AN5wNXQwcag/hHWXMJNJwpEozZUXZ4e7J/6/7N", "/ODuZP/w8LC4OZ3cuj3N9+/eu89vHuR8/87kZnHn1n5xcPvO/bv39if39u8WcHv/VnF3/+A+7LuJxK+Q", "Hd28dXALPXBarVSzmZCzeKk7h5O7B/mdw8n9Wwe3psXNw8n9w7v708md/f079/fv7eeH/Obtuzfv5tND", "Xty6dXDn8Pbk5r27+R1+7/7t/bv3m6UO7r7vGmUBI88RgM5dJbdzJ781iTavGYPEi+/lwjwoETEEVnJn", "GYaojteB9QHg7Qs3LPdaFgoKHtSLDNmxZKosQDMf/zDBo/dz4borbtibytD9+qt6O+z40auMrPZgvvhZ", "mKiDVZygwHDS2BvEe6asZiOTg4Q9x30jugbdO37UlrIN03uS2dEyIdgfixJOlpBvNVJo8kH7mLZzU2NE", "pfw294zcnY1TSSU4fAR5+FDFJmGc4q+E+kJMp6Axzjfnkq2c0nVHWSvagSOOeFKMWoI0lXYH5y+nGzbG", "OCce52chvtRRb8YGdzuS+qi7Am4JuZgKL6HwPNBs87LKAx0Zce2jWSaPJNhwgVfiGQPESd98zhMQtkVt", "PGdyDpQz77quC7RldCImu2mQznmQW4NsuRuCfxJ23kRkdkL1wNthOYqzSQ/qB0xp51sNWAFLkAUmBkm8", "6SJ1/Ac/m13tp+g4euI3nVONwwqXHW8n0FbJc6lWEqOhpeIFWbTuwFqWa7N/muwFQYM5KN7S/WjDAw2N", "Fu56bYlrMhq+iIHwBdRb/+G3z4vur9JajU5rqtWCcaajYUGlDOKj9N6darM76AtndzzGqcgP1MCQ0Jwm", "8a+5v8Fbf6eHC9I9WHN3+KVooGHMmh+uhyzihWp2+8y0EonvT6UaSuJsC44NFvfnf1Wd+7kE4SVCT+Xn", "YI+fPVGTlxh7TaZIGbB1buqAGWdHqQvQLIymC2FKd6EQhhmyx06NwQpDfANn8MKFUJU5I2jGZGFNGuIm", "I6iNgM902RZ8/PZEP/JFnPeVzjJsAX2lIGScEV3nIN1OhnY1TDWY+Vkdxr80WhTdWnvPyI+nCwTazQ1D", "VwneDsacJml9DpEx/obQDLw9jb86SwMvGYQsxIUoKk73EWyFq8xAgqYIkmILLtdhEp9RutQ8tyLnZW9C", "4tWR2J//fdXL0E+4C03cgPoM8ChHvH2Gl/GaY6j+fOYTkHiRWfMWHbVxDsR4ZKKxYwYX6NJgkqhVPjks", "6JzoTffQ8aY/ryF7GOaknLYZ2Pg5ObIYenSnH045/F6qGfpKayYBfALOshS5sOU6LDsBEgAGr79yYdeD", "eiPOJ6NUt/Cum0NJSkL7xiqEp7U0hUE5QvktWkLudffKDePgYRhEdSeakiJquVWEJo7mWQil7poGm5ok", "ZEeF0Fy/KKO0E6vaWBmxSjZ/cOp/uF3gbdCwWjYEiwN2Jc4GA5EpXEOD977Nb0kruA8jifsLbtm5cAc7", "vRIqAlhegHNzXqrZpcCccnP+VM361N2pJ3GWzyt57rWdVYw3HKmVWrACSCgX9NAnVTkAkBf5hRKFG1zQ", "XtoSM0WlDu5uoooDoiYRD9qQ/cDXdUrVoiqtWGKekgQKWsFbm7wRxzDsNkI8pbju1WgszDzI2ujvEpib", "fhdT4xQx2W9rIDI6xoa/Pv84a+PSu4LPgzaqJdopTL+L2eJj8J9qt7QLrz5mzJdUxx6DdQHXpQlKKUqM", "89GSmcdNFL6p33FMHZLvNryuXRIdPj2dyD84/PC/2b//8eGfH/714f9++Oe///Hh/33414f/E9siaGTG", "9/5+lbN8UWRH2Tv/63uM81by/Iwcr0O3J+tsuDNeFUKFzADnsPj7gpHGkSMzHTmrnuLWNw8OhzhlfKTP", "f/yr+3VpsiPnOE41Xzgey27u3XROpVjwGZgzpc8uRAHKWcP4l2yQqcouK0uVDfDWgqSkxWy49LeIuBX/", "VhcuWqmGbJRGly/B6MynlbKXzhc5i2jawJ7H5h4NyTpOakwcW8zeOolu10LLLW5FTAPbLO7war/NnU6E", "3jSEUwyXrpo9DRqN6mSxCM4EzziE4UOC8YCJIQzZBKZKA7vgWmBqroZlyXOMvAyvJs4/Z63t9aWZXoc2", "+e1Ld68rj3WQreo0gW3A+oSCnXNfN5VOqmo4rg2ObsQvLROOEHeFxM46hbNOgzNqavc2MztTZnCz4NeU", "hRnTz0ekYcYZjV2NXhnLQKpqNo8LGxifUFGlF0OhAKypPvUxFEzcHPbEpn6XbPexlteOtB9W6jupy1wv", "elbHqyZrxn1BjzsgmpkKiInyXlX7+wd3KCaBfgOeGNZ4UFkQlvE9KEvWnB7G1NWSUiH/zJQ38DZeEDOp", "NBTsG9Q8KlTXjQNne59CKstAc5+NVZcmhMLh2FL/dpvT0UbHMwl7zqejsmEfA8S76xuG5XVt6hyLSB1o", "4caBUtvYswvQK2eDGhb8gXJNaK3BDBn2KcpNOqRP1cw7mrUMIJ83OFihpNUBjaeCCwLXpaCirKRXevIx", "UiJJXB+TKfZprHwJp4RFU5xAgFKKW1/W5yckqEGuKau4++gTE8025TOt1MoRSy4R5Zj14+NEzOSzq2Ii", "5Jyd9dc4ffZtR/lyPbvtQHXJri230KePfSq1jtNJd08sTGrTaLKdgCr6oPoMsGyBoG0YGcu1pdt3vuLn", "yGOmBHCGNZYuYiJbZQu6rbdg/NtqOnViK2ESEbNg/uGJg5q2R5bkGa9SmRUvDWh39k5NRWnGx48GbMmN", "WSldhEfEHdSbhXEbXtUR2zuhiPjC6xJuRN4In7m1y+y9g9FZLlQbKi3PbVPqV5cEslPgjvkqXfqR5mg0", "moaYhVCjbunCC6pEf8z1wl8fYKp4NshKkYO//vbr/PX504vDzvyr1Wo4k9VQ6dnIjzGj2bLcOxzuD0EO", "53ZB1VDCli1o/XJZVJmY3RzuD/ex2GEJki9FdpQd4p8ogQNPZsSXYpRvZsvPSNjV+c/HBdbb2nZavaM/", "ujjHqQ729wNKQeJ4vlyWPm9n9MZbwUTL2yg9mcaPJ9fGuHRapqwv8In+gunqIKb7vXiautA3KuG23Pn1", "P2N4AYtfmjm+k8VSCX/ZN/PtaToT1udQT/p+QLgNpQ9LZRI4pegZXbx6KfIXVaw/Gx7b1aJd/GFnAOXj", "clksUKyu4P01nvAlAK24YabKczDTqizXoZNCwYT0tlt0nWqGGz2TPgt0lDudgA8fsJAa3SY3Qjbj4aIe", "SWaTMqIS+5jyqKClNd2T0O6CGg2BJ8Q2aY1+CVVjaQLDspwnbvLrIbCmcC2BrE7mHmXsYZkSXUwOvzTN", "teqUEiD/SAIFsVqLlUHIfIXF0q6p9FBMnbOCd2sLbvM5pswCDfx6SPIx2Hxe10o6xG8humcTvAZrKsmm", "WLyGzbVkwYzSdSOxhgadeh29c///yBfw/jINEnpctPtE/PwuE24rPq/Qq8gwYYdGBhHKNu2P19dIP91O", "HT0SlZ5tqiJ/qxnaivS0XLnkcI7lVPlAC2fGM1fU2atzKGaHozDZF8SYSaGsfqnpuJLAXtnpyoINSzA9", "Y2cMNkvVcvlN0yGwhb93FKTsp2bkLVLd22m5jnj2U/K2O+LXv402RlM5JVVEQ42hSdJ2hUaDZBH1Xkqj", "fWTANl5Rj/WERHxSB9C+2Clcix5txZETh3HaxOl8ZaNVIUF2Fz16qzeV0k/n7C6e57C0UCAz3Do46Atc", "h5LKNkC+Rwy1ygzVlj64VuftThty+ZJq8qWEt0vIHdDo2w4p6tVPrj7HvFNPGvZFXmjYR4KC6wTES8UH", "djz4g8iQVveGxBmgFsTHAkwczDW1V/aV0MWmsOMebgxB160lwhYiUrhc/TinxvTsGCkIH43e+QygLcrH", "Z8nsYEnVCUVfJ+ngRnpEHl1ByKn6SsmiSVXbcviJEX3HPirVzGJuy7bjf6pmp+7Fr4cKLLy1o2XJxcYp", "7BwZ7qeCUs2+RiKoW2lNYRXlDc7jnNqdaCMeUs8Xroh6ZcSOllJ03fNFieXz20qdS/c/vLFE0uUPYC3R", "XSoWUSz4ms35BTCYTiG3oZ4LW+TQDNywFZSlfz/EvxzeFsB9RHZeLbg05E00Tb8vBO+2fB36q2/DHI84", "ehgjO9ElAnJVw1RjJqSxwDG1NTBedCHW51T/vW73d23KcrNp4UeHxWsXOFTXb0TGLw+MP4wKEKh9isCo", "HpZY1l1QeG4rXpZrxpvlfK1ejVZ/ANr3J9lr8o7Swiw0MvGX09cjZBIXyglEN8kUAfovGtDstHTZhRa+", "oBSpNqTIBiEG8H3IfBXOM1Cd/8PrxKDm6qUZaTYpyoiZ3FPT6SV6Uczks+k020X+f32I9BetqMJbV6w/", "v3a6t8HZD1yfx3er3GkWusLdgu2HvPS9IIPwtIqVXoCEK41zia2+YX1DA5sp+vgGTj9MH4ncciLyWpna", "L9HPznWW8Zfk5W7uwu+CmXemwQeVnYO0lHflE80cNdTt2etG05+ZIDXwYu3ecvNRi6FW8ptoDrxLrtbn", "1iX1fXRk2W9NGdSObLPlmdtPjzBj/SO+bpK6OnmQSRK1stNofXO57kFCmg728ih9Jym8Eqk+1yrI4oVS", "l5m1aqR9fpzf8zuWOV6e+3MjJIReRqFtDPpxTmCUUNCFBKW+elmy13bfAq1gXxkhm8bsXr6A3itVzksU", "bbw0n1ueXUBrN5XpkKr19SE96jWfQ1GV4EOH13fxF3/jLeWf+yTxOhWiT1D9qLxP1/5gDPoX4dsEzvve", "P/x8STOtBnoJ4J+DDlkZj0AKEpq39u8nKnGJAL2r7zUd1SMQOQ2YUeExfg8LWh9hoK1j0RuTauUDDYdf", "VrUELuLSQakoQyCqD51Ulr5vQ50wuVQoZ4nbrsixPv+A1/NH2NjGSkhTxhO4TiTMJD39fl6Jsuv/ABEz", "v5M+XvT2UFTS8XHa4nQOYa5uiCzFIk2M3zDupUZMRnRoA/rkRmtu5Jl4/t+LWnrZFF74Evf1UuQYJomL", "E5ZazTQYM/DN+v3XzDSbclFWGrbqlqBRDMiidV3v0B1md1LMWURb2GS04Os9saer/vDXD3ztoyaV/ENc", "S220Sf5j+WOnUeOr6EMxiYbPwsSqSVeSjXoaQLNnvg6orDsqGMYZ1dXFpmhT5UbdbXah4o4Vj95dBNkG", "TL6YhuiaemKPQqe+EVUlXmIntRvcXlN2bnuRVAZl3M6u9mR8t88vF5tINihNgBveQPEcOolGqbyxFrhe", "5qgh4SX5/1QR7Q2oW9cPwCl6mSv3H50eWoxyNmQvDbCx2cBo0/Nu7M6ZOpsyRCXmzKpwA/i1xG4fUv/g", "6KOMFFox60Up5Hn9fSls5UwYoPRtS+1ePVKc2cjLkm6C8Buv1KSOONq3dPOF6k5D1qzdWHeN+CCkboiP", "Ew8QZyZmJgSm1Vaaa+BpYRG3JNxVZMRHeq3iI9UWc1dJ8hsIkWRXyBS8dfca/O6aQg88PohBUFpBA/k2", "irTFr4tXsOto07I5xoHvZes/zKe0NZ7j6aS4rje2ldIfOFXolmm+whZ0ZnvCxpX2l650I0dQNPKGPi1q", "RVk2IETsgfON3oWWqu9H7/Av4tdLMsDj7opKw0NPhBum4s7NcvGDJl27Mrx6pcTxQfdjQ7/CZrffulVs", "YtWw+11WbXonv752jut01Owve2gaoX5t3BNXqTedP5M9YFsWZcQol0ntmiL/axPjIOWce2ki2n0zfSf+", "AqagWd1YlnQzYgO1/KvsYP/eq2zj+5UYRpLl2n90stIy/gwmbc/UlhsVgdWdfDsHTgEoXhrlP96rFqAk", "MCjpU5pNcX8KTKQWRCB957JB4f/ao2X2HnK598jtc+8lTpAlcBh9uCWFQ6XFTEhe4ppufvxUDHUPKFXc", "baDueCxs3QVg8yuktG9sCFB3QeeScYFvFDCp6EsUO+ztmQds77EHLNtaXLOLIaNyC3bPWA180ZYQtT8/", "EdLxd9ej79rytIbZaJP+kcEpJK9OaOpg/9621z05tggxSmW5dfNucgbthzsHACvF2ATsCjyxh0+wNkIn", "lLX41Bn/NShkf92RO7WxHGgZ3ZvbieZJrRa3W7g2cGDDOeHzt1phArOasgm4gfX6k3WL78iUGPey0BHD", "ryNRqSdJlxgdfidfiwZCzeBj0v16h/2oMKjnmwq3HiJ/TpXOxaRcs7xUvsMJfrE3V1ICfujRt2P0kU8v", "eKdCCjMH0zovYPCW55YZvgBvQlqFnUnckEJVzrqjAWb4SoZTvYHfzSBu8rQwgdQJsIkq1r2qNA5l4veQ", "a7eiixYflnI/k0KlivdRFt3ldns0t0qLOjW0whoop8NGnmF+Wlf0PlGTkGqAMc9fKtACzCCqqx1sVCMN", "W/UWJjHpg+fH7cre+KZZLRaV9L1lnEjvFobX0/tgV0LXE/4ePD8e4EJIcs3h+w1heMX9Tn3Cyes00fz+", "vN6/fv+fAQAA//9yw0W9jIkAAA==", } // GetSwagger returns the content of the embedded swagger specification file // or error if failed to decode func decodeSpec() ([]byte, error) { zipped, err := base64.StdEncoding.DecodeString(strings.Join(swaggerSpec, "")) if err != nil { return nil, fmt.Errorf("error base64 decoding spec: %s", err) } zr, err := gzip.NewReader(bytes.NewReader(zipped)) if err != nil { return nil, fmt.Errorf("error decompressing spec: %s", err) } var buf bytes.Buffer _, err = buf.ReadFrom(zr) if err != nil { return nil, fmt.Errorf("error decompressing spec: %s", err) } return buf.Bytes(), nil } var rawSpec = decodeSpecCached() // a naive cached of a decoded swagger spec func decodeSpecCached() func() ([]byte, error) { data, err := decodeSpec() return func() ([]byte, error) { return data, err } } // Constructs a synthetic filesystem for resolving external references when loading openapi specifications. func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error) { var res = make(map[string]func() ([]byte, error)) if len(pathToFile) > 0 { res[pathToFile] = rawSpec } return res } // GetSwagger returns the Swagger specification corresponding to the generated code // in this file. The external references of Swagger specification are resolved. // The logic of resolving external references is tightly connected to "import-mapping" feature. // Externally referenced files must be embedded in the corresponding golang packages. // Urls can be supported but this task was out of the scope. func GetSwagger() (swagger *openapi3.T, err error) { var resolvePath = PathToRawSpec("") loader := openapi3.NewLoader() loader.IsExternalRefsAllowed = true loader.ReadFromURIFunc = func(loader *openapi3.Loader, url *url.URL) ([]byte, error) { var pathToFile = url.String() pathToFile = path.Clean(pathToFile) getSpec, ok := resolvePath[pathToFile] if !ok { err1 := fmt.Errorf("path not found: %s", pathToFile) return nil, err1 } return getSpec() } var specData []byte specData, err = rawSpec() if err != nil { return } swagger, err = loader.LoadFromData(specData) if err != nil { return } return }