mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 04:33:26 +00:00
Update vendor to drop unused openapi deps
This commit is contained in:
parent
68bb8b827b
commit
a5307b00cc
206
LICENSES/vendor/github.com/go-openapi/analysis/LICENSE
generated
vendored
206
LICENSES/vendor/github.com/go-openapi/analysis/LICENSE
generated
vendored
@ -1,206 +0,0 @@
|
|||||||
= vendor/github.com/go-openapi/analysis licensed under: =
|
|
||||||
|
|
||||||
|
|
||||||
Apache License
|
|
||||||
Version 2.0, January 2004
|
|
||||||
http://www.apache.org/licenses/
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
||||||
|
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by
|
|
||||||
the copyright owner that is granting the License.
|
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all
|
|
||||||
other entities that control, are controlled by, or are under common
|
|
||||||
control with that entity. For the purposes of this definition,
|
|
||||||
"control" means (i) the power, direct or indirect, to cause the
|
|
||||||
direction or management of such entity, whether by contract or
|
|
||||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity
|
|
||||||
exercising permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications,
|
|
||||||
including but not limited to software source code, documentation
|
|
||||||
source, and configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical
|
|
||||||
transformation or translation of a Source form, including but
|
|
||||||
not limited to compiled object code, generated documentation,
|
|
||||||
and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or
|
|
||||||
Object form, made available under the License, as indicated by a
|
|
||||||
copyright notice that is included in or attached to the work
|
|
||||||
(an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object
|
|
||||||
form, that is based on (or derived from) the Work and for which the
|
|
||||||
editorial revisions, annotations, elaborations, or other modifications
|
|
||||||
represent, as a whole, an original work of authorship. For the purposes
|
|
||||||
of this License, Derivative Works shall not include works that remain
|
|
||||||
separable from, or merely link (or bind by name) to the interfaces of,
|
|
||||||
the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including
|
|
||||||
the original version of the Work and any modifications or additions
|
|
||||||
to that Work or Derivative Works thereof, that is intentionally
|
|
||||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
||||||
or by an individual or Legal Entity authorized to submit on behalf of
|
|
||||||
the copyright owner. For the purposes of this definition, "submitted"
|
|
||||||
means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems,
|
|
||||||
and issue tracking systems that are managed by, or on behalf of, the
|
|
||||||
Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise
|
|
||||||
designated in writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
||||||
on behalf of whom a Contribution has been received by Licensor and
|
|
||||||
subsequently incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the
|
|
||||||
Work and such Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
(except as stated in this section) patent license to make, have made,
|
|
||||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
||||||
where such license applies only to those patent claims licensable
|
|
||||||
by such Contributor that are necessarily infringed by their
|
|
||||||
Contribution(s) alone or by combination of their Contribution(s)
|
|
||||||
with the Work to which such Contribution(s) was submitted. If You
|
|
||||||
institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
||||||
or a Contribution incorporated within the Work constitutes direct
|
|
||||||
or contributory patent infringement, then any patent licenses
|
|
||||||
granted to You under this License for that Work shall terminate
|
|
||||||
as of the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the
|
|
||||||
Work or Derivative Works thereof in any medium, with or without
|
|
||||||
modifications, and in Source or Object form, provided that You
|
|
||||||
meet the following conditions:
|
|
||||||
|
|
||||||
(a) You must give any other recipients of the Work or
|
|
||||||
Derivative Works a copy of this License; and
|
|
||||||
|
|
||||||
(b) You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and
|
|
||||||
|
|
||||||
(c) You must retain, in the Source form of any Derivative Works
|
|
||||||
that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work,
|
|
||||||
excluding those notices that do not pertain to any part of
|
|
||||||
the Derivative Works; and
|
|
||||||
|
|
||||||
(d) If the Work includes a "NOTICE" text file as part of its
|
|
||||||
distribution, then any Derivative Works that You distribute must
|
|
||||||
include a readable copy of the attribution notices contained
|
|
||||||
within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one
|
|
||||||
of the following places: within a NOTICE text file distributed
|
|
||||||
as part of the Derivative Works; within the Source form or
|
|
||||||
documentation, if provided along with the Derivative Works; or,
|
|
||||||
within a display generated by the Derivative Works, if and
|
|
||||||
wherever such third-party notices normally appear. The contents
|
|
||||||
of the NOTICE file are for informational purposes only and
|
|
||||||
do not modify the License. You may add Your own attribution
|
|
||||||
notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided
|
|
||||||
that such additional attribution notices cannot be construed
|
|
||||||
as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and
|
|
||||||
may provide additional or different license terms and conditions
|
|
||||||
for use, reproduction, or distribution of Your modifications, or
|
|
||||||
for any such Derivative Works as a whole, provided Your use,
|
|
||||||
reproduction, and distribution of the Work otherwise complies with
|
|
||||||
the conditions stated in this License.
|
|
||||||
|
|
||||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
||||||
any Contribution intentionally submitted for inclusion in the Work
|
|
||||||
by You to the Licensor shall be under the terms and conditions of
|
|
||||||
this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify
|
|
||||||
the terms of any separate license agreement you may have executed
|
|
||||||
with Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor,
|
|
||||||
except as required for reasonable and customary use in describing the
|
|
||||||
origin of the Work and reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
||||||
agreed to in writing, Licensor provides the Work (and each
|
|
||||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
||||||
implied, including, without limitation, any warranties or conditions
|
|
||||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any
|
|
||||||
risks associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory,
|
|
||||||
whether in tort (including negligence), contract, or otherwise,
|
|
||||||
unless required by applicable law (such as deliberate and grossly
|
|
||||||
negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special,
|
|
||||||
incidental, or consequential damages of any character arising as a
|
|
||||||
result of this License or out of the use or inability to use the
|
|
||||||
Work (including but not limited to damages for loss of goodwill,
|
|
||||||
work stoppage, computer failure or malfunction, or any and all
|
|
||||||
other commercial damages or losses), even if such Contributor
|
|
||||||
has been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing
|
|
||||||
the Work or Derivative Works thereof, You may choose to offer,
|
|
||||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
||||||
or other liability obligations and/or rights consistent with this
|
|
||||||
License. However, in accepting such obligations, You may act only
|
|
||||||
on Your own behalf and on Your sole responsibility, not on behalf
|
|
||||||
of any other Contributor, and only if You agree to indemnify,
|
|
||||||
defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason
|
|
||||||
of your accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
APPENDIX: How to apply the Apache License to your work.
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following
|
|
||||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
||||||
replaced with your own identifying information. (Don't include
|
|
||||||
the brackets!) The text should be enclosed in the appropriate
|
|
||||||
comment syntax for the file format. We also recommend that a
|
|
||||||
file or class name and description of purpose be included on the
|
|
||||||
same "printed page" as the copyright notice for easier
|
|
||||||
identification within third-party archives.
|
|
||||||
|
|
||||||
Copyright [yyyy] [name of copyright owner]
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
|
|
||||||
= vendor/github.com/go-openapi/analysis/LICENSE 3b83ef96387f14655fc854ddc3c6bd57
|
|
206
LICENSES/vendor/github.com/go-openapi/errors/LICENSE
generated
vendored
206
LICENSES/vendor/github.com/go-openapi/errors/LICENSE
generated
vendored
@ -1,206 +0,0 @@
|
|||||||
= vendor/github.com/go-openapi/errors licensed under: =
|
|
||||||
|
|
||||||
|
|
||||||
Apache License
|
|
||||||
Version 2.0, January 2004
|
|
||||||
http://www.apache.org/licenses/
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
||||||
|
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by
|
|
||||||
the copyright owner that is granting the License.
|
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all
|
|
||||||
other entities that control, are controlled by, or are under common
|
|
||||||
control with that entity. For the purposes of this definition,
|
|
||||||
"control" means (i) the power, direct or indirect, to cause the
|
|
||||||
direction or management of such entity, whether by contract or
|
|
||||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity
|
|
||||||
exercising permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications,
|
|
||||||
including but not limited to software source code, documentation
|
|
||||||
source, and configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical
|
|
||||||
transformation or translation of a Source form, including but
|
|
||||||
not limited to compiled object code, generated documentation,
|
|
||||||
and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or
|
|
||||||
Object form, made available under the License, as indicated by a
|
|
||||||
copyright notice that is included in or attached to the work
|
|
||||||
(an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object
|
|
||||||
form, that is based on (or derived from) the Work and for which the
|
|
||||||
editorial revisions, annotations, elaborations, or other modifications
|
|
||||||
represent, as a whole, an original work of authorship. For the purposes
|
|
||||||
of this License, Derivative Works shall not include works that remain
|
|
||||||
separable from, or merely link (or bind by name) to the interfaces of,
|
|
||||||
the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including
|
|
||||||
the original version of the Work and any modifications or additions
|
|
||||||
to that Work or Derivative Works thereof, that is intentionally
|
|
||||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
||||||
or by an individual or Legal Entity authorized to submit on behalf of
|
|
||||||
the copyright owner. For the purposes of this definition, "submitted"
|
|
||||||
means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems,
|
|
||||||
and issue tracking systems that are managed by, or on behalf of, the
|
|
||||||
Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise
|
|
||||||
designated in writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
||||||
on behalf of whom a Contribution has been received by Licensor and
|
|
||||||
subsequently incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the
|
|
||||||
Work and such Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
(except as stated in this section) patent license to make, have made,
|
|
||||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
||||||
where such license applies only to those patent claims licensable
|
|
||||||
by such Contributor that are necessarily infringed by their
|
|
||||||
Contribution(s) alone or by combination of their Contribution(s)
|
|
||||||
with the Work to which such Contribution(s) was submitted. If You
|
|
||||||
institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
||||||
or a Contribution incorporated within the Work constitutes direct
|
|
||||||
or contributory patent infringement, then any patent licenses
|
|
||||||
granted to You under this License for that Work shall terminate
|
|
||||||
as of the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the
|
|
||||||
Work or Derivative Works thereof in any medium, with or without
|
|
||||||
modifications, and in Source or Object form, provided that You
|
|
||||||
meet the following conditions:
|
|
||||||
|
|
||||||
(a) You must give any other recipients of the Work or
|
|
||||||
Derivative Works a copy of this License; and
|
|
||||||
|
|
||||||
(b) You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and
|
|
||||||
|
|
||||||
(c) You must retain, in the Source form of any Derivative Works
|
|
||||||
that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work,
|
|
||||||
excluding those notices that do not pertain to any part of
|
|
||||||
the Derivative Works; and
|
|
||||||
|
|
||||||
(d) If the Work includes a "NOTICE" text file as part of its
|
|
||||||
distribution, then any Derivative Works that You distribute must
|
|
||||||
include a readable copy of the attribution notices contained
|
|
||||||
within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one
|
|
||||||
of the following places: within a NOTICE text file distributed
|
|
||||||
as part of the Derivative Works; within the Source form or
|
|
||||||
documentation, if provided along with the Derivative Works; or,
|
|
||||||
within a display generated by the Derivative Works, if and
|
|
||||||
wherever such third-party notices normally appear. The contents
|
|
||||||
of the NOTICE file are for informational purposes only and
|
|
||||||
do not modify the License. You may add Your own attribution
|
|
||||||
notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided
|
|
||||||
that such additional attribution notices cannot be construed
|
|
||||||
as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and
|
|
||||||
may provide additional or different license terms and conditions
|
|
||||||
for use, reproduction, or distribution of Your modifications, or
|
|
||||||
for any such Derivative Works as a whole, provided Your use,
|
|
||||||
reproduction, and distribution of the Work otherwise complies with
|
|
||||||
the conditions stated in this License.
|
|
||||||
|
|
||||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
||||||
any Contribution intentionally submitted for inclusion in the Work
|
|
||||||
by You to the Licensor shall be under the terms and conditions of
|
|
||||||
this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify
|
|
||||||
the terms of any separate license agreement you may have executed
|
|
||||||
with Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor,
|
|
||||||
except as required for reasonable and customary use in describing the
|
|
||||||
origin of the Work and reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
||||||
agreed to in writing, Licensor provides the Work (and each
|
|
||||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
||||||
implied, including, without limitation, any warranties or conditions
|
|
||||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any
|
|
||||||
risks associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory,
|
|
||||||
whether in tort (including negligence), contract, or otherwise,
|
|
||||||
unless required by applicable law (such as deliberate and grossly
|
|
||||||
negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special,
|
|
||||||
incidental, or consequential damages of any character arising as a
|
|
||||||
result of this License or out of the use or inability to use the
|
|
||||||
Work (including but not limited to damages for loss of goodwill,
|
|
||||||
work stoppage, computer failure or malfunction, or any and all
|
|
||||||
other commercial damages or losses), even if such Contributor
|
|
||||||
has been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing
|
|
||||||
the Work or Derivative Works thereof, You may choose to offer,
|
|
||||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
||||||
or other liability obligations and/or rights consistent with this
|
|
||||||
License. However, in accepting such obligations, You may act only
|
|
||||||
on Your own behalf and on Your sole responsibility, not on behalf
|
|
||||||
of any other Contributor, and only if You agree to indemnify,
|
|
||||||
defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason
|
|
||||||
of your accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
APPENDIX: How to apply the Apache License to your work.
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following
|
|
||||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
||||||
replaced with your own identifying information. (Don't include
|
|
||||||
the brackets!) The text should be enclosed in the appropriate
|
|
||||||
comment syntax for the file format. We also recommend that a
|
|
||||||
file or class name and description of purpose be included on the
|
|
||||||
same "printed page" as the copyright notice for easier
|
|
||||||
identification within third-party archives.
|
|
||||||
|
|
||||||
Copyright [yyyy] [name of copyright owner]
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
|
|
||||||
= vendor/github.com/go-openapi/errors/LICENSE 3b83ef96387f14655fc854ddc3c6bd57
|
|
206
LICENSES/vendor/github.com/go-openapi/loads/LICENSE
generated
vendored
206
LICENSES/vendor/github.com/go-openapi/loads/LICENSE
generated
vendored
@ -1,206 +0,0 @@
|
|||||||
= vendor/github.com/go-openapi/loads licensed under: =
|
|
||||||
|
|
||||||
|
|
||||||
Apache License
|
|
||||||
Version 2.0, January 2004
|
|
||||||
http://www.apache.org/licenses/
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
||||||
|
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by
|
|
||||||
the copyright owner that is granting the License.
|
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all
|
|
||||||
other entities that control, are controlled by, or are under common
|
|
||||||
control with that entity. For the purposes of this definition,
|
|
||||||
"control" means (i) the power, direct or indirect, to cause the
|
|
||||||
direction or management of such entity, whether by contract or
|
|
||||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity
|
|
||||||
exercising permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications,
|
|
||||||
including but not limited to software source code, documentation
|
|
||||||
source, and configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical
|
|
||||||
transformation or translation of a Source form, including but
|
|
||||||
not limited to compiled object code, generated documentation,
|
|
||||||
and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or
|
|
||||||
Object form, made available under the License, as indicated by a
|
|
||||||
copyright notice that is included in or attached to the work
|
|
||||||
(an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object
|
|
||||||
form, that is based on (or derived from) the Work and for which the
|
|
||||||
editorial revisions, annotations, elaborations, or other modifications
|
|
||||||
represent, as a whole, an original work of authorship. For the purposes
|
|
||||||
of this License, Derivative Works shall not include works that remain
|
|
||||||
separable from, or merely link (or bind by name) to the interfaces of,
|
|
||||||
the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including
|
|
||||||
the original version of the Work and any modifications or additions
|
|
||||||
to that Work or Derivative Works thereof, that is intentionally
|
|
||||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
||||||
or by an individual or Legal Entity authorized to submit on behalf of
|
|
||||||
the copyright owner. For the purposes of this definition, "submitted"
|
|
||||||
means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems,
|
|
||||||
and issue tracking systems that are managed by, or on behalf of, the
|
|
||||||
Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise
|
|
||||||
designated in writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
||||||
on behalf of whom a Contribution has been received by Licensor and
|
|
||||||
subsequently incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the
|
|
||||||
Work and such Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
(except as stated in this section) patent license to make, have made,
|
|
||||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
||||||
where such license applies only to those patent claims licensable
|
|
||||||
by such Contributor that are necessarily infringed by their
|
|
||||||
Contribution(s) alone or by combination of their Contribution(s)
|
|
||||||
with the Work to which such Contribution(s) was submitted. If You
|
|
||||||
institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
||||||
or a Contribution incorporated within the Work constitutes direct
|
|
||||||
or contributory patent infringement, then any patent licenses
|
|
||||||
granted to You under this License for that Work shall terminate
|
|
||||||
as of the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the
|
|
||||||
Work or Derivative Works thereof in any medium, with or without
|
|
||||||
modifications, and in Source or Object form, provided that You
|
|
||||||
meet the following conditions:
|
|
||||||
|
|
||||||
(a) You must give any other recipients of the Work or
|
|
||||||
Derivative Works a copy of this License; and
|
|
||||||
|
|
||||||
(b) You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and
|
|
||||||
|
|
||||||
(c) You must retain, in the Source form of any Derivative Works
|
|
||||||
that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work,
|
|
||||||
excluding those notices that do not pertain to any part of
|
|
||||||
the Derivative Works; and
|
|
||||||
|
|
||||||
(d) If the Work includes a "NOTICE" text file as part of its
|
|
||||||
distribution, then any Derivative Works that You distribute must
|
|
||||||
include a readable copy of the attribution notices contained
|
|
||||||
within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one
|
|
||||||
of the following places: within a NOTICE text file distributed
|
|
||||||
as part of the Derivative Works; within the Source form or
|
|
||||||
documentation, if provided along with the Derivative Works; or,
|
|
||||||
within a display generated by the Derivative Works, if and
|
|
||||||
wherever such third-party notices normally appear. The contents
|
|
||||||
of the NOTICE file are for informational purposes only and
|
|
||||||
do not modify the License. You may add Your own attribution
|
|
||||||
notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided
|
|
||||||
that such additional attribution notices cannot be construed
|
|
||||||
as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and
|
|
||||||
may provide additional or different license terms and conditions
|
|
||||||
for use, reproduction, or distribution of Your modifications, or
|
|
||||||
for any such Derivative Works as a whole, provided Your use,
|
|
||||||
reproduction, and distribution of the Work otherwise complies with
|
|
||||||
the conditions stated in this License.
|
|
||||||
|
|
||||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
||||||
any Contribution intentionally submitted for inclusion in the Work
|
|
||||||
by You to the Licensor shall be under the terms and conditions of
|
|
||||||
this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify
|
|
||||||
the terms of any separate license agreement you may have executed
|
|
||||||
with Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor,
|
|
||||||
except as required for reasonable and customary use in describing the
|
|
||||||
origin of the Work and reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
||||||
agreed to in writing, Licensor provides the Work (and each
|
|
||||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
||||||
implied, including, without limitation, any warranties or conditions
|
|
||||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any
|
|
||||||
risks associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory,
|
|
||||||
whether in tort (including negligence), contract, or otherwise,
|
|
||||||
unless required by applicable law (such as deliberate and grossly
|
|
||||||
negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special,
|
|
||||||
incidental, or consequential damages of any character arising as a
|
|
||||||
result of this License or out of the use or inability to use the
|
|
||||||
Work (including but not limited to damages for loss of goodwill,
|
|
||||||
work stoppage, computer failure or malfunction, or any and all
|
|
||||||
other commercial damages or losses), even if such Contributor
|
|
||||||
has been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing
|
|
||||||
the Work or Derivative Works thereof, You may choose to offer,
|
|
||||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
||||||
or other liability obligations and/or rights consistent with this
|
|
||||||
License. However, in accepting such obligations, You may act only
|
|
||||||
on Your own behalf and on Your sole responsibility, not on behalf
|
|
||||||
of any other Contributor, and only if You agree to indemnify,
|
|
||||||
defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason
|
|
||||||
of your accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
APPENDIX: How to apply the Apache License to your work.
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following
|
|
||||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
||||||
replaced with your own identifying information. (Don't include
|
|
||||||
the brackets!) The text should be enclosed in the appropriate
|
|
||||||
comment syntax for the file format. We also recommend that a
|
|
||||||
file or class name and description of purpose be included on the
|
|
||||||
same "printed page" as the copyright notice for easier
|
|
||||||
identification within third-party archives.
|
|
||||||
|
|
||||||
Copyright [yyyy] [name of copyright owner]
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
|
|
||||||
= vendor/github.com/go-openapi/loads/LICENSE 3b83ef96387f14655fc854ddc3c6bd57
|
|
206
LICENSES/vendor/github.com/go-openapi/runtime/LICENSE
generated
vendored
206
LICENSES/vendor/github.com/go-openapi/runtime/LICENSE
generated
vendored
@ -1,206 +0,0 @@
|
|||||||
= vendor/github.com/go-openapi/runtime licensed under: =
|
|
||||||
|
|
||||||
|
|
||||||
Apache License
|
|
||||||
Version 2.0, January 2004
|
|
||||||
http://www.apache.org/licenses/
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
||||||
|
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by
|
|
||||||
the copyright owner that is granting the License.
|
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all
|
|
||||||
other entities that control, are controlled by, or are under common
|
|
||||||
control with that entity. For the purposes of this definition,
|
|
||||||
"control" means (i) the power, direct or indirect, to cause the
|
|
||||||
direction or management of such entity, whether by contract or
|
|
||||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity
|
|
||||||
exercising permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications,
|
|
||||||
including but not limited to software source code, documentation
|
|
||||||
source, and configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical
|
|
||||||
transformation or translation of a Source form, including but
|
|
||||||
not limited to compiled object code, generated documentation,
|
|
||||||
and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or
|
|
||||||
Object form, made available under the License, as indicated by a
|
|
||||||
copyright notice that is included in or attached to the work
|
|
||||||
(an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object
|
|
||||||
form, that is based on (or derived from) the Work and for which the
|
|
||||||
editorial revisions, annotations, elaborations, or other modifications
|
|
||||||
represent, as a whole, an original work of authorship. For the purposes
|
|
||||||
of this License, Derivative Works shall not include works that remain
|
|
||||||
separable from, or merely link (or bind by name) to the interfaces of,
|
|
||||||
the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including
|
|
||||||
the original version of the Work and any modifications or additions
|
|
||||||
to that Work or Derivative Works thereof, that is intentionally
|
|
||||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
||||||
or by an individual or Legal Entity authorized to submit on behalf of
|
|
||||||
the copyright owner. For the purposes of this definition, "submitted"
|
|
||||||
means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems,
|
|
||||||
and issue tracking systems that are managed by, or on behalf of, the
|
|
||||||
Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise
|
|
||||||
designated in writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
||||||
on behalf of whom a Contribution has been received by Licensor and
|
|
||||||
subsequently incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the
|
|
||||||
Work and such Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
(except as stated in this section) patent license to make, have made,
|
|
||||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
||||||
where such license applies only to those patent claims licensable
|
|
||||||
by such Contributor that are necessarily infringed by their
|
|
||||||
Contribution(s) alone or by combination of their Contribution(s)
|
|
||||||
with the Work to which such Contribution(s) was submitted. If You
|
|
||||||
institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
||||||
or a Contribution incorporated within the Work constitutes direct
|
|
||||||
or contributory patent infringement, then any patent licenses
|
|
||||||
granted to You under this License for that Work shall terminate
|
|
||||||
as of the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the
|
|
||||||
Work or Derivative Works thereof in any medium, with or without
|
|
||||||
modifications, and in Source or Object form, provided that You
|
|
||||||
meet the following conditions:
|
|
||||||
|
|
||||||
(a) You must give any other recipients of the Work or
|
|
||||||
Derivative Works a copy of this License; and
|
|
||||||
|
|
||||||
(b) You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and
|
|
||||||
|
|
||||||
(c) You must retain, in the Source form of any Derivative Works
|
|
||||||
that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work,
|
|
||||||
excluding those notices that do not pertain to any part of
|
|
||||||
the Derivative Works; and
|
|
||||||
|
|
||||||
(d) If the Work includes a "NOTICE" text file as part of its
|
|
||||||
distribution, then any Derivative Works that You distribute must
|
|
||||||
include a readable copy of the attribution notices contained
|
|
||||||
within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one
|
|
||||||
of the following places: within a NOTICE text file distributed
|
|
||||||
as part of the Derivative Works; within the Source form or
|
|
||||||
documentation, if provided along with the Derivative Works; or,
|
|
||||||
within a display generated by the Derivative Works, if and
|
|
||||||
wherever such third-party notices normally appear. The contents
|
|
||||||
of the NOTICE file are for informational purposes only and
|
|
||||||
do not modify the License. You may add Your own attribution
|
|
||||||
notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided
|
|
||||||
that such additional attribution notices cannot be construed
|
|
||||||
as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and
|
|
||||||
may provide additional or different license terms and conditions
|
|
||||||
for use, reproduction, or distribution of Your modifications, or
|
|
||||||
for any such Derivative Works as a whole, provided Your use,
|
|
||||||
reproduction, and distribution of the Work otherwise complies with
|
|
||||||
the conditions stated in this License.
|
|
||||||
|
|
||||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
||||||
any Contribution intentionally submitted for inclusion in the Work
|
|
||||||
by You to the Licensor shall be under the terms and conditions of
|
|
||||||
this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify
|
|
||||||
the terms of any separate license agreement you may have executed
|
|
||||||
with Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor,
|
|
||||||
except as required for reasonable and customary use in describing the
|
|
||||||
origin of the Work and reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
||||||
agreed to in writing, Licensor provides the Work (and each
|
|
||||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
||||||
implied, including, without limitation, any warranties or conditions
|
|
||||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any
|
|
||||||
risks associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory,
|
|
||||||
whether in tort (including negligence), contract, or otherwise,
|
|
||||||
unless required by applicable law (such as deliberate and grossly
|
|
||||||
negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special,
|
|
||||||
incidental, or consequential damages of any character arising as a
|
|
||||||
result of this License or out of the use or inability to use the
|
|
||||||
Work (including but not limited to damages for loss of goodwill,
|
|
||||||
work stoppage, computer failure or malfunction, or any and all
|
|
||||||
other commercial damages or losses), even if such Contributor
|
|
||||||
has been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing
|
|
||||||
the Work or Derivative Works thereof, You may choose to offer,
|
|
||||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
||||||
or other liability obligations and/or rights consistent with this
|
|
||||||
License. However, in accepting such obligations, You may act only
|
|
||||||
on Your own behalf and on Your sole responsibility, not on behalf
|
|
||||||
of any other Contributor, and only if You agree to indemnify,
|
|
||||||
defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason
|
|
||||||
of your accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
APPENDIX: How to apply the Apache License to your work.
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following
|
|
||||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
||||||
replaced with your own identifying information. (Don't include
|
|
||||||
the brackets!) The text should be enclosed in the appropriate
|
|
||||||
comment syntax for the file format. We also recommend that a
|
|
||||||
file or class name and description of purpose be included on the
|
|
||||||
same "printed page" as the copyright notice for easier
|
|
||||||
identification within third-party archives.
|
|
||||||
|
|
||||||
Copyright [yyyy] [name of copyright owner]
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
|
|
||||||
= vendor/github.com/go-openapi/runtime/LICENSE 3b83ef96387f14655fc854ddc3c6bd57
|
|
206
LICENSES/vendor/github.com/go-openapi/strfmt/LICENSE
generated
vendored
206
LICENSES/vendor/github.com/go-openapi/strfmt/LICENSE
generated
vendored
@ -1,206 +0,0 @@
|
|||||||
= vendor/github.com/go-openapi/strfmt licensed under: =
|
|
||||||
|
|
||||||
|
|
||||||
Apache License
|
|
||||||
Version 2.0, January 2004
|
|
||||||
http://www.apache.org/licenses/
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
||||||
|
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by
|
|
||||||
the copyright owner that is granting the License.
|
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all
|
|
||||||
other entities that control, are controlled by, or are under common
|
|
||||||
control with that entity. For the purposes of this definition,
|
|
||||||
"control" means (i) the power, direct or indirect, to cause the
|
|
||||||
direction or management of such entity, whether by contract or
|
|
||||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity
|
|
||||||
exercising permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications,
|
|
||||||
including but not limited to software source code, documentation
|
|
||||||
source, and configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical
|
|
||||||
transformation or translation of a Source form, including but
|
|
||||||
not limited to compiled object code, generated documentation,
|
|
||||||
and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or
|
|
||||||
Object form, made available under the License, as indicated by a
|
|
||||||
copyright notice that is included in or attached to the work
|
|
||||||
(an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object
|
|
||||||
form, that is based on (or derived from) the Work and for which the
|
|
||||||
editorial revisions, annotations, elaborations, or other modifications
|
|
||||||
represent, as a whole, an original work of authorship. For the purposes
|
|
||||||
of this License, Derivative Works shall not include works that remain
|
|
||||||
separable from, or merely link (or bind by name) to the interfaces of,
|
|
||||||
the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including
|
|
||||||
the original version of the Work and any modifications or additions
|
|
||||||
to that Work or Derivative Works thereof, that is intentionally
|
|
||||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
||||||
or by an individual or Legal Entity authorized to submit on behalf of
|
|
||||||
the copyright owner. For the purposes of this definition, "submitted"
|
|
||||||
means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems,
|
|
||||||
and issue tracking systems that are managed by, or on behalf of, the
|
|
||||||
Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise
|
|
||||||
designated in writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
||||||
on behalf of whom a Contribution has been received by Licensor and
|
|
||||||
subsequently incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the
|
|
||||||
Work and such Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
(except as stated in this section) patent license to make, have made,
|
|
||||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
||||||
where such license applies only to those patent claims licensable
|
|
||||||
by such Contributor that are necessarily infringed by their
|
|
||||||
Contribution(s) alone or by combination of their Contribution(s)
|
|
||||||
with the Work to which such Contribution(s) was submitted. If You
|
|
||||||
institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
||||||
or a Contribution incorporated within the Work constitutes direct
|
|
||||||
or contributory patent infringement, then any patent licenses
|
|
||||||
granted to You under this License for that Work shall terminate
|
|
||||||
as of the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the
|
|
||||||
Work or Derivative Works thereof in any medium, with or without
|
|
||||||
modifications, and in Source or Object form, provided that You
|
|
||||||
meet the following conditions:
|
|
||||||
|
|
||||||
(a) You must give any other recipients of the Work or
|
|
||||||
Derivative Works a copy of this License; and
|
|
||||||
|
|
||||||
(b) You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and
|
|
||||||
|
|
||||||
(c) You must retain, in the Source form of any Derivative Works
|
|
||||||
that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work,
|
|
||||||
excluding those notices that do not pertain to any part of
|
|
||||||
the Derivative Works; and
|
|
||||||
|
|
||||||
(d) If the Work includes a "NOTICE" text file as part of its
|
|
||||||
distribution, then any Derivative Works that You distribute must
|
|
||||||
include a readable copy of the attribution notices contained
|
|
||||||
within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one
|
|
||||||
of the following places: within a NOTICE text file distributed
|
|
||||||
as part of the Derivative Works; within the Source form or
|
|
||||||
documentation, if provided along with the Derivative Works; or,
|
|
||||||
within a display generated by the Derivative Works, if and
|
|
||||||
wherever such third-party notices normally appear. The contents
|
|
||||||
of the NOTICE file are for informational purposes only and
|
|
||||||
do not modify the License. You may add Your own attribution
|
|
||||||
notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided
|
|
||||||
that such additional attribution notices cannot be construed
|
|
||||||
as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and
|
|
||||||
may provide additional or different license terms and conditions
|
|
||||||
for use, reproduction, or distribution of Your modifications, or
|
|
||||||
for any such Derivative Works as a whole, provided Your use,
|
|
||||||
reproduction, and distribution of the Work otherwise complies with
|
|
||||||
the conditions stated in this License.
|
|
||||||
|
|
||||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
||||||
any Contribution intentionally submitted for inclusion in the Work
|
|
||||||
by You to the Licensor shall be under the terms and conditions of
|
|
||||||
this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify
|
|
||||||
the terms of any separate license agreement you may have executed
|
|
||||||
with Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor,
|
|
||||||
except as required for reasonable and customary use in describing the
|
|
||||||
origin of the Work and reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
||||||
agreed to in writing, Licensor provides the Work (and each
|
|
||||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
||||||
implied, including, without limitation, any warranties or conditions
|
|
||||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any
|
|
||||||
risks associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory,
|
|
||||||
whether in tort (including negligence), contract, or otherwise,
|
|
||||||
unless required by applicable law (such as deliberate and grossly
|
|
||||||
negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special,
|
|
||||||
incidental, or consequential damages of any character arising as a
|
|
||||||
result of this License or out of the use or inability to use the
|
|
||||||
Work (including but not limited to damages for loss of goodwill,
|
|
||||||
work stoppage, computer failure or malfunction, or any and all
|
|
||||||
other commercial damages or losses), even if such Contributor
|
|
||||||
has been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing
|
|
||||||
the Work or Derivative Works thereof, You may choose to offer,
|
|
||||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
||||||
or other liability obligations and/or rights consistent with this
|
|
||||||
License. However, in accepting such obligations, You may act only
|
|
||||||
on Your own behalf and on Your sole responsibility, not on behalf
|
|
||||||
of any other Contributor, and only if You agree to indemnify,
|
|
||||||
defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason
|
|
||||||
of your accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
APPENDIX: How to apply the Apache License to your work.
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following
|
|
||||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
||||||
replaced with your own identifying information. (Don't include
|
|
||||||
the brackets!) The text should be enclosed in the appropriate
|
|
||||||
comment syntax for the file format. We also recommend that a
|
|
||||||
file or class name and description of purpose be included on the
|
|
||||||
same "printed page" as the copyright notice for easier
|
|
||||||
identification within third-party archives.
|
|
||||||
|
|
||||||
Copyright [yyyy] [name of copyright owner]
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
|
|
||||||
= vendor/github.com/go-openapi/strfmt/LICENSE 3b83ef96387f14655fc854ddc3c6bd57
|
|
206
LICENSES/vendor/github.com/go-openapi/validate/LICENSE
generated
vendored
206
LICENSES/vendor/github.com/go-openapi/validate/LICENSE
generated
vendored
@ -1,206 +0,0 @@
|
|||||||
= vendor/github.com/go-openapi/validate licensed under: =
|
|
||||||
|
|
||||||
|
|
||||||
Apache License
|
|
||||||
Version 2.0, January 2004
|
|
||||||
http://www.apache.org/licenses/
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
||||||
|
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by
|
|
||||||
the copyright owner that is granting the License.
|
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all
|
|
||||||
other entities that control, are controlled by, or are under common
|
|
||||||
control with that entity. For the purposes of this definition,
|
|
||||||
"control" means (i) the power, direct or indirect, to cause the
|
|
||||||
direction or management of such entity, whether by contract or
|
|
||||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity
|
|
||||||
exercising permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications,
|
|
||||||
including but not limited to software source code, documentation
|
|
||||||
source, and configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical
|
|
||||||
transformation or translation of a Source form, including but
|
|
||||||
not limited to compiled object code, generated documentation,
|
|
||||||
and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or
|
|
||||||
Object form, made available under the License, as indicated by a
|
|
||||||
copyright notice that is included in or attached to the work
|
|
||||||
(an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object
|
|
||||||
form, that is based on (or derived from) the Work and for which the
|
|
||||||
editorial revisions, annotations, elaborations, or other modifications
|
|
||||||
represent, as a whole, an original work of authorship. For the purposes
|
|
||||||
of this License, Derivative Works shall not include works that remain
|
|
||||||
separable from, or merely link (or bind by name) to the interfaces of,
|
|
||||||
the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including
|
|
||||||
the original version of the Work and any modifications or additions
|
|
||||||
to that Work or Derivative Works thereof, that is intentionally
|
|
||||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
||||||
or by an individual or Legal Entity authorized to submit on behalf of
|
|
||||||
the copyright owner. For the purposes of this definition, "submitted"
|
|
||||||
means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems,
|
|
||||||
and issue tracking systems that are managed by, or on behalf of, the
|
|
||||||
Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise
|
|
||||||
designated in writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
||||||
on behalf of whom a Contribution has been received by Licensor and
|
|
||||||
subsequently incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the
|
|
||||||
Work and such Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
(except as stated in this section) patent license to make, have made,
|
|
||||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
||||||
where such license applies only to those patent claims licensable
|
|
||||||
by such Contributor that are necessarily infringed by their
|
|
||||||
Contribution(s) alone or by combination of their Contribution(s)
|
|
||||||
with the Work to which such Contribution(s) was submitted. If You
|
|
||||||
institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
||||||
or a Contribution incorporated within the Work constitutes direct
|
|
||||||
or contributory patent infringement, then any patent licenses
|
|
||||||
granted to You under this License for that Work shall terminate
|
|
||||||
as of the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the
|
|
||||||
Work or Derivative Works thereof in any medium, with or without
|
|
||||||
modifications, and in Source or Object form, provided that You
|
|
||||||
meet the following conditions:
|
|
||||||
|
|
||||||
(a) You must give any other recipients of the Work or
|
|
||||||
Derivative Works a copy of this License; and
|
|
||||||
|
|
||||||
(b) You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and
|
|
||||||
|
|
||||||
(c) You must retain, in the Source form of any Derivative Works
|
|
||||||
that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work,
|
|
||||||
excluding those notices that do not pertain to any part of
|
|
||||||
the Derivative Works; and
|
|
||||||
|
|
||||||
(d) If the Work includes a "NOTICE" text file as part of its
|
|
||||||
distribution, then any Derivative Works that You distribute must
|
|
||||||
include a readable copy of the attribution notices contained
|
|
||||||
within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one
|
|
||||||
of the following places: within a NOTICE text file distributed
|
|
||||||
as part of the Derivative Works; within the Source form or
|
|
||||||
documentation, if provided along with the Derivative Works; or,
|
|
||||||
within a display generated by the Derivative Works, if and
|
|
||||||
wherever such third-party notices normally appear. The contents
|
|
||||||
of the NOTICE file are for informational purposes only and
|
|
||||||
do not modify the License. You may add Your own attribution
|
|
||||||
notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided
|
|
||||||
that such additional attribution notices cannot be construed
|
|
||||||
as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and
|
|
||||||
may provide additional or different license terms and conditions
|
|
||||||
for use, reproduction, or distribution of Your modifications, or
|
|
||||||
for any such Derivative Works as a whole, provided Your use,
|
|
||||||
reproduction, and distribution of the Work otherwise complies with
|
|
||||||
the conditions stated in this License.
|
|
||||||
|
|
||||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
||||||
any Contribution intentionally submitted for inclusion in the Work
|
|
||||||
by You to the Licensor shall be under the terms and conditions of
|
|
||||||
this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify
|
|
||||||
the terms of any separate license agreement you may have executed
|
|
||||||
with Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor,
|
|
||||||
except as required for reasonable and customary use in describing the
|
|
||||||
origin of the Work and reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
||||||
agreed to in writing, Licensor provides the Work (and each
|
|
||||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
||||||
implied, including, without limitation, any warranties or conditions
|
|
||||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any
|
|
||||||
risks associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory,
|
|
||||||
whether in tort (including negligence), contract, or otherwise,
|
|
||||||
unless required by applicable law (such as deliberate and grossly
|
|
||||||
negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special,
|
|
||||||
incidental, or consequential damages of any character arising as a
|
|
||||||
result of this License or out of the use or inability to use the
|
|
||||||
Work (including but not limited to damages for loss of goodwill,
|
|
||||||
work stoppage, computer failure or malfunction, or any and all
|
|
||||||
other commercial damages or losses), even if such Contributor
|
|
||||||
has been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing
|
|
||||||
the Work or Derivative Works thereof, You may choose to offer,
|
|
||||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
||||||
or other liability obligations and/or rights consistent with this
|
|
||||||
License. However, in accepting such obligations, You may act only
|
|
||||||
on Your own behalf and on Your sole responsibility, not on behalf
|
|
||||||
of any other Contributor, and only if You agree to indemnify,
|
|
||||||
defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason
|
|
||||||
of your accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
APPENDIX: How to apply the Apache License to your work.
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following
|
|
||||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
||||||
replaced with your own identifying information. (Don't include
|
|
||||||
the brackets!) The text should be enclosed in the appropriate
|
|
||||||
comment syntax for the file format. We also recommend that a
|
|
||||||
file or class name and description of purpose be included on the
|
|
||||||
same "printed page" as the copyright notice for easier
|
|
||||||
identification within third-party archives.
|
|
||||||
|
|
||||||
Copyright [yyyy] [name of copyright owner]
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
|
|
||||||
= vendor/github.com/go-openapi/validate/LICENSE 3b83ef96387f14655fc854ddc3c6bd57
|
|
25
LICENSES/vendor/github.com/go-stack/stack/LICENSE
generated
vendored
25
LICENSES/vendor/github.com/go-stack/stack/LICENSE
generated
vendored
@ -1,25 +0,0 @@
|
|||||||
= vendor/github.com/go-stack/stack licensed under: =
|
|
||||||
|
|
||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) 2014 Chris Hines
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
|
|
||||||
= vendor/github.com/go-stack/stack/LICENSE.md 55d1e6f86c872bf9b8f648d1293cb2c3
|
|
205
LICENSES/vendor/go.mongodb.org/mongo-driver/LICENSE
generated
vendored
205
LICENSES/vendor/go.mongodb.org/mongo-driver/LICENSE
generated
vendored
@ -1,205 +0,0 @@
|
|||||||
= vendor/go.mongodb.org/mongo-driver licensed under: =
|
|
||||||
|
|
||||||
Apache License
|
|
||||||
Version 2.0, January 2004
|
|
||||||
http://www.apache.org/licenses/
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
||||||
|
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by
|
|
||||||
the copyright owner that is granting the License.
|
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all
|
|
||||||
other entities that control, are controlled by, or are under common
|
|
||||||
control with that entity. For the purposes of this definition,
|
|
||||||
"control" means (i) the power, direct or indirect, to cause the
|
|
||||||
direction or management of such entity, whether by contract or
|
|
||||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity
|
|
||||||
exercising permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications,
|
|
||||||
including but not limited to software source code, documentation
|
|
||||||
source, and configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical
|
|
||||||
transformation or translation of a Source form, including but
|
|
||||||
not limited to compiled object code, generated documentation,
|
|
||||||
and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or
|
|
||||||
Object form, made available under the License, as indicated by a
|
|
||||||
copyright notice that is included in or attached to the work
|
|
||||||
(an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object
|
|
||||||
form, that is based on (or derived from) the Work and for which the
|
|
||||||
editorial revisions, annotations, elaborations, or other modifications
|
|
||||||
represent, as a whole, an original work of authorship. For the purposes
|
|
||||||
of this License, Derivative Works shall not include works that remain
|
|
||||||
separable from, or merely link (or bind by name) to the interfaces of,
|
|
||||||
the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including
|
|
||||||
the original version of the Work and any modifications or additions
|
|
||||||
to that Work or Derivative Works thereof, that is intentionally
|
|
||||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
||||||
or by an individual or Legal Entity authorized to submit on behalf of
|
|
||||||
the copyright owner. For the purposes of this definition, "submitted"
|
|
||||||
means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems,
|
|
||||||
and issue tracking systems that are managed by, or on behalf of, the
|
|
||||||
Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise
|
|
||||||
designated in writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
||||||
on behalf of whom a Contribution has been received by Licensor and
|
|
||||||
subsequently incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the
|
|
||||||
Work and such Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
(except as stated in this section) patent license to make, have made,
|
|
||||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
||||||
where such license applies only to those patent claims licensable
|
|
||||||
by such Contributor that are necessarily infringed by their
|
|
||||||
Contribution(s) alone or by combination of their Contribution(s)
|
|
||||||
with the Work to which such Contribution(s) was submitted. If You
|
|
||||||
institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
||||||
or a Contribution incorporated within the Work constitutes direct
|
|
||||||
or contributory patent infringement, then any patent licenses
|
|
||||||
granted to You under this License for that Work shall terminate
|
|
||||||
as of the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the
|
|
||||||
Work or Derivative Works thereof in any medium, with or without
|
|
||||||
modifications, and in Source or Object form, provided that You
|
|
||||||
meet the following conditions:
|
|
||||||
|
|
||||||
(a) You must give any other recipients of the Work or
|
|
||||||
Derivative Works a copy of this License; and
|
|
||||||
|
|
||||||
(b) You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and
|
|
||||||
|
|
||||||
(c) You must retain, in the Source form of any Derivative Works
|
|
||||||
that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work,
|
|
||||||
excluding those notices that do not pertain to any part of
|
|
||||||
the Derivative Works; and
|
|
||||||
|
|
||||||
(d) If the Work includes a "NOTICE" text file as part of its
|
|
||||||
distribution, then any Derivative Works that You distribute must
|
|
||||||
include a readable copy of the attribution notices contained
|
|
||||||
within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one
|
|
||||||
of the following places: within a NOTICE text file distributed
|
|
||||||
as part of the Derivative Works; within the Source form or
|
|
||||||
documentation, if provided along with the Derivative Works; or,
|
|
||||||
within a display generated by the Derivative Works, if and
|
|
||||||
wherever such third-party notices normally appear. The contents
|
|
||||||
of the NOTICE file are for informational purposes only and
|
|
||||||
do not modify the License. You may add Your own attribution
|
|
||||||
notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided
|
|
||||||
that such additional attribution notices cannot be construed
|
|
||||||
as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and
|
|
||||||
may provide additional or different license terms and conditions
|
|
||||||
for use, reproduction, or distribution of Your modifications, or
|
|
||||||
for any such Derivative Works as a whole, provided Your use,
|
|
||||||
reproduction, and distribution of the Work otherwise complies with
|
|
||||||
the conditions stated in this License.
|
|
||||||
|
|
||||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
||||||
any Contribution intentionally submitted for inclusion in the Work
|
|
||||||
by You to the Licensor shall be under the terms and conditions of
|
|
||||||
this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify
|
|
||||||
the terms of any separate license agreement you may have executed
|
|
||||||
with Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor,
|
|
||||||
except as required for reasonable and customary use in describing the
|
|
||||||
origin of the Work and reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
||||||
agreed to in writing, Licensor provides the Work (and each
|
|
||||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
||||||
implied, including, without limitation, any warranties or conditions
|
|
||||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any
|
|
||||||
risks associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory,
|
|
||||||
whether in tort (including negligence), contract, or otherwise,
|
|
||||||
unless required by applicable law (such as deliberate and grossly
|
|
||||||
negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special,
|
|
||||||
incidental, or consequential damages of any character arising as a
|
|
||||||
result of this License or out of the use or inability to use the
|
|
||||||
Work (including but not limited to damages for loss of goodwill,
|
|
||||||
work stoppage, computer failure or malfunction, or any and all
|
|
||||||
other commercial damages or losses), even if such Contributor
|
|
||||||
has been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing
|
|
||||||
the Work or Derivative Works thereof, You may choose to offer,
|
|
||||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
||||||
or other liability obligations and/or rights consistent with this
|
|
||||||
License. However, in accepting such obligations, You may act only
|
|
||||||
on Your own behalf and on Your sole responsibility, not on behalf
|
|
||||||
of any other Contributor, and only if You agree to indemnify,
|
|
||||||
defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason
|
|
||||||
of your accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
APPENDIX: How to apply the Apache License to your work.
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following
|
|
||||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
||||||
replaced with your own identifying information. (Don't include
|
|
||||||
the brackets!) The text should be enclosed in the appropriate
|
|
||||||
comment syntax for the file format. We also recommend that a
|
|
||||||
file or class name and description of purpose be included on the
|
|
||||||
same "printed page" as the copyright notice for easier
|
|
||||||
identification within third-party archives.
|
|
||||||
|
|
||||||
Copyright [yyyy] [name of copyright owner]
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
|
|
||||||
= vendor/go.mongodb.org/mongo-driver/LICENSE 86d3f3a95c324c9479bd8986968f4327
|
|
16
go.mod
16
go.mod
@ -43,10 +43,7 @@ require (
|
|||||||
github.com/evanphx/json-patch v4.9.0+incompatible
|
github.com/evanphx/json-patch v4.9.0+incompatible
|
||||||
github.com/fsnotify/fsnotify v1.4.9
|
github.com/fsnotify/fsnotify v1.4.9
|
||||||
github.com/go-bindata/go-bindata v3.1.1+incompatible
|
github.com/go-bindata/go-bindata v3.1.1+incompatible
|
||||||
github.com/go-openapi/loads v0.19.4
|
|
||||||
github.com/go-openapi/spec v0.19.3
|
github.com/go-openapi/spec v0.19.3
|
||||||
github.com/go-openapi/strfmt v0.19.3
|
|
||||||
github.com/go-openapi/validate v0.19.5
|
|
||||||
github.com/go-ozzo/ozzo-validation v3.5.0+incompatible // indirect
|
github.com/go-ozzo/ozzo-validation v3.5.0+incompatible // indirect
|
||||||
github.com/godbus/dbus/v5 v5.0.3
|
github.com/godbus/dbus/v5 v5.0.3
|
||||||
github.com/gogo/protobuf v1.3.2
|
github.com/gogo/protobuf v1.3.2
|
||||||
@ -173,11 +170,9 @@ replace (
|
|||||||
github.com/NYTimes/gziphandler => github.com/NYTimes/gziphandler v1.1.1
|
github.com/NYTimes/gziphandler => github.com/NYTimes/gziphandler v1.1.1
|
||||||
github.com/PuerkitoBio/purell => github.com/PuerkitoBio/purell v1.1.1
|
github.com/PuerkitoBio/purell => github.com/PuerkitoBio/purell v1.1.1
|
||||||
github.com/PuerkitoBio/urlesc => github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578
|
github.com/PuerkitoBio/urlesc => github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578
|
||||||
github.com/agnivade/levenshtein => github.com/agnivade/levenshtein v1.0.1
|
|
||||||
github.com/ajstarks/svgo => github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af
|
github.com/ajstarks/svgo => github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af
|
||||||
github.com/alecthomas/template => github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751
|
github.com/alecthomas/template => github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751
|
||||||
github.com/alecthomas/units => github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4
|
github.com/alecthomas/units => github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4
|
||||||
github.com/andreyvit/diff => github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883
|
|
||||||
github.com/armon/circbuf => github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e
|
github.com/armon/circbuf => github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e
|
||||||
github.com/armon/go-metrics => github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da
|
github.com/armon/go-metrics => github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da
|
||||||
github.com/armon/go-radix => github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310
|
github.com/armon/go-radix => github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310
|
||||||
@ -255,18 +250,11 @@ replace (
|
|||||||
github.com/go-kit/kit => github.com/go-kit/kit v0.9.0
|
github.com/go-kit/kit => github.com/go-kit/kit v0.9.0
|
||||||
github.com/go-logfmt/logfmt => github.com/go-logfmt/logfmt v0.4.0
|
github.com/go-logfmt/logfmt => github.com/go-logfmt/logfmt v0.4.0
|
||||||
github.com/go-logr/logr => github.com/go-logr/logr v0.4.0
|
github.com/go-logr/logr => github.com/go-logr/logr v0.4.0
|
||||||
github.com/go-openapi/analysis => github.com/go-openapi/analysis v0.19.5
|
|
||||||
github.com/go-openapi/errors => github.com/go-openapi/errors v0.19.2
|
|
||||||
github.com/go-openapi/jsonpointer => github.com/go-openapi/jsonpointer v0.19.3
|
github.com/go-openapi/jsonpointer => github.com/go-openapi/jsonpointer v0.19.3
|
||||||
github.com/go-openapi/jsonreference => github.com/go-openapi/jsonreference v0.19.3
|
github.com/go-openapi/jsonreference => github.com/go-openapi/jsonreference v0.19.3
|
||||||
github.com/go-openapi/loads => github.com/go-openapi/loads v0.19.4
|
|
||||||
github.com/go-openapi/runtime => github.com/go-openapi/runtime v0.19.4
|
|
||||||
github.com/go-openapi/spec => github.com/go-openapi/spec v0.19.3
|
github.com/go-openapi/spec => github.com/go-openapi/spec v0.19.3
|
||||||
github.com/go-openapi/strfmt => github.com/go-openapi/strfmt v0.19.3
|
|
||||||
github.com/go-openapi/swag => github.com/go-openapi/swag v0.19.5
|
github.com/go-openapi/swag => github.com/go-openapi/swag v0.19.5
|
||||||
github.com/go-openapi/validate => github.com/go-openapi/validate v0.19.5
|
|
||||||
github.com/go-ozzo/ozzo-validation => github.com/go-ozzo/ozzo-validation v3.5.0+incompatible
|
github.com/go-ozzo/ozzo-validation => github.com/go-ozzo/ozzo-validation v3.5.0+incompatible
|
||||||
github.com/go-stack/stack => github.com/go-stack/stack v1.8.0
|
|
||||||
github.com/godbus/dbus/v5 => github.com/godbus/dbus/v5 v5.0.3
|
github.com/godbus/dbus/v5 => github.com/godbus/dbus/v5 v5.0.3
|
||||||
github.com/gogo/protobuf => github.com/gogo/protobuf v1.3.2
|
github.com/gogo/protobuf => github.com/gogo/protobuf v1.3.2
|
||||||
github.com/golang/freetype => github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0
|
github.com/golang/freetype => github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0
|
||||||
@ -409,7 +397,6 @@ replace (
|
|||||||
github.com/satori/go.uuid => github.com/satori/go.uuid v1.2.0
|
github.com/satori/go.uuid => github.com/satori/go.uuid v1.2.0
|
||||||
github.com/sean-/seed => github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529
|
github.com/sean-/seed => github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529
|
||||||
github.com/seccomp/libseccomp-golang => github.com/seccomp/libseccomp-golang v0.9.1
|
github.com/seccomp/libseccomp-golang => github.com/seccomp/libseccomp-golang v0.9.1
|
||||||
github.com/sergi/go-diff => github.com/sergi/go-diff v1.0.0
|
|
||||||
github.com/shurcooL/sanitized_anchor_name => github.com/shurcooL/sanitized_anchor_name v1.0.0
|
github.com/shurcooL/sanitized_anchor_name => github.com/shurcooL/sanitized_anchor_name v1.0.0
|
||||||
github.com/sirupsen/logrus => github.com/sirupsen/logrus v1.6.0
|
github.com/sirupsen/logrus => github.com/sirupsen/logrus v1.6.0
|
||||||
github.com/smartystreets/assertions => github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d
|
github.com/smartystreets/assertions => github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d
|
||||||
@ -427,11 +414,9 @@ replace (
|
|||||||
github.com/subosito/gotenv => github.com/subosito/gotenv v1.2.0
|
github.com/subosito/gotenv => github.com/subosito/gotenv v1.2.0
|
||||||
github.com/syndtr/gocapability => github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2
|
github.com/syndtr/gocapability => github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2
|
||||||
github.com/thecodeteam/goscaleio => github.com/thecodeteam/goscaleio v0.1.0
|
github.com/thecodeteam/goscaleio => github.com/thecodeteam/goscaleio v0.1.0
|
||||||
github.com/tidwall/pretty => github.com/tidwall/pretty v1.0.0
|
|
||||||
github.com/tmc/grpc-websocket-proxy => github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5
|
github.com/tmc/grpc-websocket-proxy => github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5
|
||||||
github.com/urfave/cli => github.com/urfave/cli v1.22.2
|
github.com/urfave/cli => github.com/urfave/cli v1.22.2
|
||||||
github.com/urfave/negroni => github.com/urfave/negroni v1.0.0
|
github.com/urfave/negroni => github.com/urfave/negroni v1.0.0
|
||||||
github.com/vektah/gqlparser => github.com/vektah/gqlparser v1.1.2
|
|
||||||
github.com/vishvananda/netlink => github.com/vishvananda/netlink v1.1.0
|
github.com/vishvananda/netlink => github.com/vishvananda/netlink v1.1.0
|
||||||
github.com/vishvananda/netns => github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae
|
github.com/vishvananda/netns => github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae
|
||||||
github.com/vmware/govmomi => github.com/vmware/govmomi v0.20.3
|
github.com/vmware/govmomi => github.com/vmware/govmomi v0.20.3
|
||||||
@ -440,7 +425,6 @@ replace (
|
|||||||
github.com/yuin/goldmark => github.com/yuin/goldmark v1.2.1
|
github.com/yuin/goldmark => github.com/yuin/goldmark v1.2.1
|
||||||
go.etcd.io/bbolt => go.etcd.io/bbolt v1.3.5
|
go.etcd.io/bbolt => go.etcd.io/bbolt v1.3.5
|
||||||
go.etcd.io/etcd => go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489 // ae9734ed278b is the SHA for git tag v3.4.13
|
go.etcd.io/etcd => go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489 // ae9734ed278b is the SHA for git tag v3.4.13
|
||||||
go.mongodb.org/mongo-driver => go.mongodb.org/mongo-driver v1.1.2
|
|
||||||
go.opencensus.io => go.opencensus.io v0.22.3
|
go.opencensus.io => go.opencensus.io v0.22.3
|
||||||
go.uber.org/atomic => go.uber.org/atomic v1.4.0
|
go.uber.org/atomic => go.uber.org/atomic v1.4.0
|
||||||
go.uber.org/multierr => go.uber.org/multierr v1.1.0
|
go.uber.org/multierr => go.uber.org/multierr v1.1.0
|
||||||
|
22
go.sum
22
go.sum
@ -49,11 +49,9 @@ github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tN
|
|||||||
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
|
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
|
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
||||||
github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM=
|
|
||||||
github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
|
github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
|
||||||
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
||||||
github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
||||||
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
|
|
||||||
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e h1:QEF07wC0T1rKkctt1RINW/+RMTVmiwxETico2l3gxJA=
|
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e h1:QEF07wC0T1rKkctt1RINW/+RMTVmiwxETico2l3gxJA=
|
||||||
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
|
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
|
||||||
github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
|
github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
|
||||||
@ -181,30 +179,16 @@ github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2
|
|||||||
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
|
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
|
||||||
github.com/go-logr/logr v0.4.0 h1:K7/B1jt6fIBQVd4Owv2MqGQClcgf0R266+7C/QjRcLc=
|
github.com/go-logr/logr v0.4.0 h1:K7/B1jt6fIBQVd4Owv2MqGQClcgf0R266+7C/QjRcLc=
|
||||||
github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
|
github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
|
||||||
github.com/go-openapi/analysis v0.19.5 h1:8b2ZgKfKIUTVQpTb77MoRDIMEIwvDVw40o3aOXdfYzI=
|
|
||||||
github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU=
|
|
||||||
github.com/go-openapi/errors v0.19.2 h1:a2kIyV3w+OS3S97zxUndRVD46+FhGOUBDFY7nmu4CsY=
|
|
||||||
github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
|
|
||||||
github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w=
|
github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w=
|
||||||
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
|
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
|
||||||
github.com/go-openapi/jsonreference v0.19.3 h1:5cxNfTy0UVC3X8JL5ymxzyoUZmo8iZb+jeTWn7tUa8o=
|
github.com/go-openapi/jsonreference v0.19.3 h1:5cxNfTy0UVC3X8JL5ymxzyoUZmo8iZb+jeTWn7tUa8o=
|
||||||
github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8=
|
github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8=
|
||||||
github.com/go-openapi/loads v0.19.4 h1:5I4CCSqoWzT+82bBkNIvmLc0UOsoKKQ4Fz+3VxOB7SY=
|
|
||||||
github.com/go-openapi/loads v0.19.4/go.mod h1:zZVHonKd8DXyxyw4yfnVjPzBjIQcLt0CCsn0N0ZrQsk=
|
|
||||||
github.com/go-openapi/runtime v0.19.4 h1:csnOgcgAiuGoM/Po7PEpKDoNulCcF3FGbSnbHfxgjMI=
|
|
||||||
github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4=
|
|
||||||
github.com/go-openapi/spec v0.19.3 h1:0XRyw8kguri6Yw4SxhsQA/atC88yqrk0+G4YhI2wabc=
|
github.com/go-openapi/spec v0.19.3 h1:0XRyw8kguri6Yw4SxhsQA/atC88yqrk0+G4YhI2wabc=
|
||||||
github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo=
|
github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo=
|
||||||
github.com/go-openapi/strfmt v0.19.3 h1:eRfyY5SkaNJCAwmmMcADjY31ow9+N7MCLW7oRkbsINA=
|
|
||||||
github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU=
|
|
||||||
github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY=
|
github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY=
|
||||||
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
|
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
|
||||||
github.com/go-openapi/validate v0.19.5 h1:QhCBKRYqZR+SKo4gl1lPhPahope8/RLt6EVgY8X80w0=
|
|
||||||
github.com/go-openapi/validate v0.19.5/go.mod h1:8DJv2CVJQ6kGNpFW6eV9N3JviE1C85nY1c2z52x1Gk4=
|
|
||||||
github.com/go-ozzo/ozzo-validation v3.5.0+incompatible h1:sUy/in/P6askYr16XJgTKq/0SZhiWsdg4WZGaLsGQkM=
|
github.com/go-ozzo/ozzo-validation v3.5.0+incompatible h1:sUy/in/P6askYr16XJgTKq/0SZhiWsdg4WZGaLsGQkM=
|
||||||
github.com/go-ozzo/ozzo-validation v3.5.0+incompatible/go.mod h1:gsEKFIVnabGBt6mXmxK0MoFy+cZoTJY6mu5Ll3LVLBU=
|
github.com/go-ozzo/ozzo-validation v3.5.0+incompatible/go.mod h1:gsEKFIVnabGBt6mXmxK0MoFy+cZoTJY6mu5Ll3LVLBU=
|
||||||
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
|
|
||||||
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
|
||||||
github.com/godbus/dbus/v5 v5.0.3 h1:ZqHaoEF7TBzh4jzPmqVhE/5A1z9of6orkAe5uHoAeME=
|
github.com/godbus/dbus/v5 v5.0.3 h1:ZqHaoEF7TBzh4jzPmqVhE/5A1z9of6orkAe5uHoAeME=
|
||||||
github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
||||||
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
||||||
@ -433,7 +417,6 @@ github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdh
|
|||||||
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
|
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
|
||||||
github.com/seccomp/libseccomp-golang v0.9.1 h1:NJjM5DNFOs0s3kYE1WUOr6G8V97sdt46rlXTMfXGWBo=
|
github.com/seccomp/libseccomp-golang v0.9.1 h1:NJjM5DNFOs0s3kYE1WUOr6G8V97sdt46rlXTMfXGWBo=
|
||||||
github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo=
|
github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo=
|
||||||
github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
|
|
||||||
github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo=
|
github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo=
|
||||||
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
||||||
github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I=
|
github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I=
|
||||||
@ -468,14 +451,11 @@ github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2 h1:b6uOv7YOFK0
|
|||||||
github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
|
github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
|
||||||
github.com/thecodeteam/goscaleio v0.1.0 h1:SB5tO98lawC+UK8ds/U2jyfOCH7GTcFztcF5x9gbut4=
|
github.com/thecodeteam/goscaleio v0.1.0 h1:SB5tO98lawC+UK8ds/U2jyfOCH7GTcFztcF5x9gbut4=
|
||||||
github.com/thecodeteam/goscaleio v0.1.0/go.mod h1:68sdkZAsK8bvEwBlbQnlLS+xU+hvLYM/iQ8KXej1AwM=
|
github.com/thecodeteam/goscaleio v0.1.0/go.mod h1:68sdkZAsK8bvEwBlbQnlLS+xU+hvLYM/iQ8KXej1AwM=
|
||||||
github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
|
|
||||||
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
|
|
||||||
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 h1:LnC5Kc/wtumK+WB441p7ynQJzVuNRJiqddSIE3IlSEQ=
|
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 h1:LnC5Kc/wtumK+WB441p7ynQJzVuNRJiqddSIE3IlSEQ=
|
||||||
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
||||||
github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
||||||
github.com/urfave/negroni v1.0.0 h1:kIimOitoypq34K7TG7DUaJ9kq/N4Ofuwi1sjz0KipXc=
|
github.com/urfave/negroni v1.0.0 h1:kIimOitoypq34K7TG7DUaJ9kq/N4Ofuwi1sjz0KipXc=
|
||||||
github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4=
|
github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4=
|
||||||
github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw=
|
|
||||||
github.com/vishvananda/netlink v1.1.0 h1:1iyaYNBLmP6L0220aDnYQpo1QEV4t4hJ+xEEhhJH8j0=
|
github.com/vishvananda/netlink v1.1.0 h1:1iyaYNBLmP6L0220aDnYQpo1QEV4t4hJ+xEEhhJH8j0=
|
||||||
github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE=
|
github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE=
|
||||||
github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae h1:4hwBBUfQCFe3Cym0ZtKyq7L16eZUtYKs+BaHDN6mAns=
|
github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae h1:4hwBBUfQCFe3Cym0ZtKyq7L16eZUtYKs+BaHDN6mAns=
|
||||||
@ -491,8 +471,6 @@ go.etcd.io/bbolt v1.3.5 h1:XAzx9gjCb0Rxj7EoqcClPD1d5ZBxZJk0jbuoPHenBt0=
|
|||||||
go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ=
|
go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ=
|
||||||
go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489 h1:1JFLBqwIgdyHN1ZtgjTBwO+blA6gVOmZurpiMEsETKo=
|
go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489 h1:1JFLBqwIgdyHN1ZtgjTBwO+blA6gVOmZurpiMEsETKo=
|
||||||
go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489/go.mod h1:yVHk9ub3CSBatqGNg7GRmsnfLWtoW60w4eDYfh7vHDg=
|
go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489/go.mod h1:yVHk9ub3CSBatqGNg7GRmsnfLWtoW60w4eDYfh7vHDg=
|
||||||
go.mongodb.org/mongo-driver v1.1.2 h1:jxcFYjlkl8xaERsgLo+RNquI0epW6zuy/ZRQs6jnrFA=
|
|
||||||
go.mongodb.org/mongo-driver v1.1.2/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
|
|
||||||
go.opencensus.io v0.22.3 h1:8sGtKOrtQqkN1bp2AtX+misvLIlOmsEsNd+9NIcPEm8=
|
go.opencensus.io v0.22.3 h1:8sGtKOrtQqkN1bp2AtX+misvLIlOmsEsNd+9NIcPEm8=
|
||||||
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||||
go.uber.org/atomic v1.4.0 h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU=
|
go.uber.org/atomic v1.4.0 h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU=
|
||||||
|
5
vendor/github.com/go-openapi/analysis/.codecov.yml
generated
vendored
5
vendor/github.com/go-openapi/analysis/.codecov.yml
generated
vendored
@ -1,5 +0,0 @@
|
|||||||
coverage:
|
|
||||||
status:
|
|
||||||
patch:
|
|
||||||
default:
|
|
||||||
target: 80%
|
|
5
vendor/github.com/go-openapi/analysis/.gitignore
generated
vendored
5
vendor/github.com/go-openapi/analysis/.gitignore
generated
vendored
@ -1,5 +0,0 @@
|
|||||||
secrets.yml
|
|
||||||
coverage.out
|
|
||||||
coverage.txt
|
|
||||||
*.cov
|
|
||||||
.idea
|
|
27
vendor/github.com/go-openapi/analysis/.golangci.yml
generated
vendored
27
vendor/github.com/go-openapi/analysis/.golangci.yml
generated
vendored
@ -1,27 +0,0 @@
|
|||||||
linters-settings:
|
|
||||||
govet:
|
|
||||||
check-shadowing: true
|
|
||||||
golint:
|
|
||||||
min-confidence: 0
|
|
||||||
gocyclo:
|
|
||||||
min-complexity: 40
|
|
||||||
maligned:
|
|
||||||
suggest-new: true
|
|
||||||
dupl:
|
|
||||||
threshold: 100
|
|
||||||
goconst:
|
|
||||||
min-len: 2
|
|
||||||
min-occurrences: 4
|
|
||||||
|
|
||||||
linters:
|
|
||||||
enable-all: true
|
|
||||||
disable:
|
|
||||||
- maligned
|
|
||||||
- lll
|
|
||||||
- gochecknoglobals
|
|
||||||
- gochecknoinits
|
|
||||||
# scopelint is useful, but also reports false positives
|
|
||||||
# that unfortunately can't be disabled. So we disable the
|
|
||||||
# linter rather than changing code that works.
|
|
||||||
# see: https://github.com/kyoh86/scopelint/issues/4
|
|
||||||
- scopelint
|
|
15
vendor/github.com/go-openapi/analysis/.travis.yml
generated
vendored
15
vendor/github.com/go-openapi/analysis/.travis.yml
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
after_success:
|
|
||||||
- bash <(curl -s https://codecov.io/bash)
|
|
||||||
go:
|
|
||||||
- 1.11.x
|
|
||||||
- 1.12.x
|
|
||||||
install:
|
|
||||||
- GO111MODULE=off go get -u gotest.tools/gotestsum
|
|
||||||
env:
|
|
||||||
- GO111MODULE=on
|
|
||||||
language: go
|
|
||||||
notifications:
|
|
||||||
slack:
|
|
||||||
secure: Sf7kZf7ZGbnwWUMpffHwMu5A0cHkLK2MYY32LNTPj4+/3qC3Ghl7+9v4TSLOqOlCwdRNjOGblAq7s+GDJed6/xgRQl1JtCi1klzZNrYX4q01pgTPvvGcwbBkIYgeMaPeIRcK9OZnud7sRXdttozgTOpytps2U6Js32ip7uj5mHSg2ub0FwoSJwlS6dbezZ8+eDhoha0F/guY99BEwx8Bd+zROrT2TFGsSGOFGN6wFc7moCqTHO/YkWib13a2QNXqOxCCVBy/lt76Wp+JkeFppjHlzs/2lP3EAk13RIUAaesdEUHvIHrzCyNJEd3/+KO2DzsWOYfpktd+KBCvgaYOsoo7ubdT3IROeAegZdCgo/6xgCEsmFc9ZcqCfN5yNx2A+BZ2Vwmpws+bQ1E1+B5HDzzaiLcYfG4X2O210QVGVDLWsv1jqD+uPYeHY2WRfh5ZsIUFvaqgUEnwHwrK44/8REAhQavt1QAj5uJpsRd7CkRVPWRNK+yIky+wgbVUFEchRNmS55E7QWf+W4+4QZkQi7vUTMc9nbTUu2Es9NfvfudOpM2wZbn98fjpb/qq/nRv6Bk+ca+7XD5/IgNLMbWp2ouDdzbiHLCOfDUiHiDJhLfFZx9Bwo7ZwfzeOlbrQX66bx7xRKYmOe4DLrXhNcpbsMa8qbfxlZRCmYbubB/Y8h4=
|
|
||||||
script:
|
|
||||||
- gotestsum -f short-verbose -- -race -timeout=20m -coverprofile=coverage.txt -covermode=atomic ./...
|
|
74
vendor/github.com/go-openapi/analysis/CODE_OF_CONDUCT.md
generated
vendored
74
vendor/github.com/go-openapi/analysis/CODE_OF_CONDUCT.md
generated
vendored
@ -1,74 +0,0 @@
|
|||||||
# Contributor Covenant Code of Conduct
|
|
||||||
|
|
||||||
## Our Pledge
|
|
||||||
|
|
||||||
In the interest of fostering an open and welcoming environment, we as
|
|
||||||
contributors and maintainers pledge to making participation in our project and
|
|
||||||
our community a harassment-free experience for everyone, regardless of age, body
|
|
||||||
size, disability, ethnicity, gender identity and expression, level of experience,
|
|
||||||
nationality, personal appearance, race, religion, or sexual identity and
|
|
||||||
orientation.
|
|
||||||
|
|
||||||
## Our Standards
|
|
||||||
|
|
||||||
Examples of behavior that contributes to creating a positive environment
|
|
||||||
include:
|
|
||||||
|
|
||||||
* Using welcoming and inclusive language
|
|
||||||
* Being respectful of differing viewpoints and experiences
|
|
||||||
* Gracefully accepting constructive criticism
|
|
||||||
* Focusing on what is best for the community
|
|
||||||
* Showing empathy towards other community members
|
|
||||||
|
|
||||||
Examples of unacceptable behavior by participants include:
|
|
||||||
|
|
||||||
* The use of sexualized language or imagery and unwelcome sexual attention or
|
|
||||||
advances
|
|
||||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
|
||||||
* Public or private harassment
|
|
||||||
* Publishing others' private information, such as a physical or electronic
|
|
||||||
address, without explicit permission
|
|
||||||
* Other conduct which could reasonably be considered inappropriate in a
|
|
||||||
professional setting
|
|
||||||
|
|
||||||
## Our Responsibilities
|
|
||||||
|
|
||||||
Project maintainers are responsible for clarifying the standards of acceptable
|
|
||||||
behavior and are expected to take appropriate and fair corrective action in
|
|
||||||
response to any instances of unacceptable behavior.
|
|
||||||
|
|
||||||
Project maintainers have the right and responsibility to remove, edit, or
|
|
||||||
reject comments, commits, code, wiki edits, issues, and other contributions
|
|
||||||
that are not aligned to this Code of Conduct, or to ban temporarily or
|
|
||||||
permanently any contributor for other behaviors that they deem inappropriate,
|
|
||||||
threatening, offensive, or harmful.
|
|
||||||
|
|
||||||
## Scope
|
|
||||||
|
|
||||||
This Code of Conduct applies both within project spaces and in public spaces
|
|
||||||
when an individual is representing the project or its community. Examples of
|
|
||||||
representing a project or community include using an official project e-mail
|
|
||||||
address, posting via an official social media account, or acting as an appointed
|
|
||||||
representative at an online or offline event. Representation of a project may be
|
|
||||||
further defined and clarified by project maintainers.
|
|
||||||
|
|
||||||
## Enforcement
|
|
||||||
|
|
||||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
|
||||||
reported by contacting the project team at ivan+abuse@flanders.co.nz. All
|
|
||||||
complaints will be reviewed and investigated and will result in a response that
|
|
||||||
is deemed necessary and appropriate to the circumstances. The project team is
|
|
||||||
obligated to maintain confidentiality with regard to the reporter of an incident.
|
|
||||||
Further details of specific enforcement policies may be posted separately.
|
|
||||||
|
|
||||||
Project maintainers who do not follow or enforce the Code of Conduct in good
|
|
||||||
faith may face temporary or permanent repercussions as determined by other
|
|
||||||
members of the project's leadership.
|
|
||||||
|
|
||||||
## Attribution
|
|
||||||
|
|
||||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
|
||||||
available at [http://contributor-covenant.org/version/1/4][version]
|
|
||||||
|
|
||||||
[homepage]: http://contributor-covenant.org
|
|
||||||
[version]: http://contributor-covenant.org/version/1/4/
|
|
202
vendor/github.com/go-openapi/analysis/LICENSE
generated
vendored
202
vendor/github.com/go-openapi/analysis/LICENSE
generated
vendored
@ -1,202 +0,0 @@
|
|||||||
|
|
||||||
Apache License
|
|
||||||
Version 2.0, January 2004
|
|
||||||
http://www.apache.org/licenses/
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
||||||
|
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by
|
|
||||||
the copyright owner that is granting the License.
|
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all
|
|
||||||
other entities that control, are controlled by, or are under common
|
|
||||||
control with that entity. For the purposes of this definition,
|
|
||||||
"control" means (i) the power, direct or indirect, to cause the
|
|
||||||
direction or management of such entity, whether by contract or
|
|
||||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity
|
|
||||||
exercising permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications,
|
|
||||||
including but not limited to software source code, documentation
|
|
||||||
source, and configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical
|
|
||||||
transformation or translation of a Source form, including but
|
|
||||||
not limited to compiled object code, generated documentation,
|
|
||||||
and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or
|
|
||||||
Object form, made available under the License, as indicated by a
|
|
||||||
copyright notice that is included in or attached to the work
|
|
||||||
(an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object
|
|
||||||
form, that is based on (or derived from) the Work and for which the
|
|
||||||
editorial revisions, annotations, elaborations, or other modifications
|
|
||||||
represent, as a whole, an original work of authorship. For the purposes
|
|
||||||
of this License, Derivative Works shall not include works that remain
|
|
||||||
separable from, or merely link (or bind by name) to the interfaces of,
|
|
||||||
the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including
|
|
||||||
the original version of the Work and any modifications or additions
|
|
||||||
to that Work or Derivative Works thereof, that is intentionally
|
|
||||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
||||||
or by an individual or Legal Entity authorized to submit on behalf of
|
|
||||||
the copyright owner. For the purposes of this definition, "submitted"
|
|
||||||
means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems,
|
|
||||||
and issue tracking systems that are managed by, or on behalf of, the
|
|
||||||
Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise
|
|
||||||
designated in writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
||||||
on behalf of whom a Contribution has been received by Licensor and
|
|
||||||
subsequently incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the
|
|
||||||
Work and such Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
(except as stated in this section) patent license to make, have made,
|
|
||||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
||||||
where such license applies only to those patent claims licensable
|
|
||||||
by such Contributor that are necessarily infringed by their
|
|
||||||
Contribution(s) alone or by combination of their Contribution(s)
|
|
||||||
with the Work to which such Contribution(s) was submitted. If You
|
|
||||||
institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
||||||
or a Contribution incorporated within the Work constitutes direct
|
|
||||||
or contributory patent infringement, then any patent licenses
|
|
||||||
granted to You under this License for that Work shall terminate
|
|
||||||
as of the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the
|
|
||||||
Work or Derivative Works thereof in any medium, with or without
|
|
||||||
modifications, and in Source or Object form, provided that You
|
|
||||||
meet the following conditions:
|
|
||||||
|
|
||||||
(a) You must give any other recipients of the Work or
|
|
||||||
Derivative Works a copy of this License; and
|
|
||||||
|
|
||||||
(b) You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and
|
|
||||||
|
|
||||||
(c) You must retain, in the Source form of any Derivative Works
|
|
||||||
that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work,
|
|
||||||
excluding those notices that do not pertain to any part of
|
|
||||||
the Derivative Works; and
|
|
||||||
|
|
||||||
(d) If the Work includes a "NOTICE" text file as part of its
|
|
||||||
distribution, then any Derivative Works that You distribute must
|
|
||||||
include a readable copy of the attribution notices contained
|
|
||||||
within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one
|
|
||||||
of the following places: within a NOTICE text file distributed
|
|
||||||
as part of the Derivative Works; within the Source form or
|
|
||||||
documentation, if provided along with the Derivative Works; or,
|
|
||||||
within a display generated by the Derivative Works, if and
|
|
||||||
wherever such third-party notices normally appear. The contents
|
|
||||||
of the NOTICE file are for informational purposes only and
|
|
||||||
do not modify the License. You may add Your own attribution
|
|
||||||
notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided
|
|
||||||
that such additional attribution notices cannot be construed
|
|
||||||
as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and
|
|
||||||
may provide additional or different license terms and conditions
|
|
||||||
for use, reproduction, or distribution of Your modifications, or
|
|
||||||
for any such Derivative Works as a whole, provided Your use,
|
|
||||||
reproduction, and distribution of the Work otherwise complies with
|
|
||||||
the conditions stated in this License.
|
|
||||||
|
|
||||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
||||||
any Contribution intentionally submitted for inclusion in the Work
|
|
||||||
by You to the Licensor shall be under the terms and conditions of
|
|
||||||
this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify
|
|
||||||
the terms of any separate license agreement you may have executed
|
|
||||||
with Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor,
|
|
||||||
except as required for reasonable and customary use in describing the
|
|
||||||
origin of the Work and reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
||||||
agreed to in writing, Licensor provides the Work (and each
|
|
||||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
||||||
implied, including, without limitation, any warranties or conditions
|
|
||||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any
|
|
||||||
risks associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory,
|
|
||||||
whether in tort (including negligence), contract, or otherwise,
|
|
||||||
unless required by applicable law (such as deliberate and grossly
|
|
||||||
negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special,
|
|
||||||
incidental, or consequential damages of any character arising as a
|
|
||||||
result of this License or out of the use or inability to use the
|
|
||||||
Work (including but not limited to damages for loss of goodwill,
|
|
||||||
work stoppage, computer failure or malfunction, or any and all
|
|
||||||
other commercial damages or losses), even if such Contributor
|
|
||||||
has been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing
|
|
||||||
the Work or Derivative Works thereof, You may choose to offer,
|
|
||||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
||||||
or other liability obligations and/or rights consistent with this
|
|
||||||
License. However, in accepting such obligations, You may act only
|
|
||||||
on Your own behalf and on Your sole responsibility, not on behalf
|
|
||||||
of any other Contributor, and only if You agree to indemnify,
|
|
||||||
defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason
|
|
||||||
of your accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
APPENDIX: How to apply the Apache License to your work.
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following
|
|
||||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
||||||
replaced with your own identifying information. (Don't include
|
|
||||||
the brackets!) The text should be enclosed in the appropriate
|
|
||||||
comment syntax for the file format. We also recommend that a
|
|
||||||
file or class name and description of purpose be included on the
|
|
||||||
same "printed page" as the copyright notice for easier
|
|
||||||
identification within third-party archives.
|
|
||||||
|
|
||||||
Copyright [yyyy] [name of copyright owner]
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
9
vendor/github.com/go-openapi/analysis/README.md
generated
vendored
9
vendor/github.com/go-openapi/analysis/README.md
generated
vendored
@ -1,9 +0,0 @@
|
|||||||
# OpenAPI initiative analysis [](https://travis-ci.org/go-openapi/analysis) [](https://ci.appveyor.com/project/casualjim/go-openapi/analysis/branch/master) [](https://codecov.io/gh/go-openapi/analysis)
|
|
||||||
[](https://slackin.goswagger.io)
|
|
||||||
[](https://raw.githubusercontent.com/go-openapi/analysis/master/LICENSE)
|
|
||||||
[](http://godoc.org/github.com/go-openapi/analysis)
|
|
||||||
[](https://golangci.com)
|
|
||||||
[](https://goreportcard.com/report/github.com/go-openapi/analysis)
|
|
||||||
|
|
||||||
|
|
||||||
A foundational library to analyze an OAI specification document for easier reasoning about the content.
|
|
970
vendor/github.com/go-openapi/analysis/analyzer.go
generated
vendored
970
vendor/github.com/go-openapi/analysis/analyzer.go
generated
vendored
@ -1,970 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package analysis
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
slashpath "path"
|
|
||||||
"strconv"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"github.com/go-openapi/jsonpointer"
|
|
||||||
"github.com/go-openapi/spec"
|
|
||||||
"github.com/go-openapi/swag"
|
|
||||||
)
|
|
||||||
|
|
||||||
type referenceAnalysis struct {
|
|
||||||
schemas map[string]spec.Ref
|
|
||||||
responses map[string]spec.Ref
|
|
||||||
parameters map[string]spec.Ref
|
|
||||||
items map[string]spec.Ref
|
|
||||||
headerItems map[string]spec.Ref
|
|
||||||
parameterItems map[string]spec.Ref
|
|
||||||
allRefs map[string]spec.Ref
|
|
||||||
pathItems map[string]spec.Ref
|
|
||||||
}
|
|
||||||
|
|
||||||
func (r *referenceAnalysis) addRef(key string, ref spec.Ref) {
|
|
||||||
r.allRefs["#"+key] = ref
|
|
||||||
}
|
|
||||||
|
|
||||||
func (r *referenceAnalysis) addItemsRef(key string, items *spec.Items, location string) {
|
|
||||||
r.items["#"+key] = items.Ref
|
|
||||||
r.addRef(key, items.Ref)
|
|
||||||
if location == "header" {
|
|
||||||
// NOTE: in swagger 2.0, headers and parameters (but not body param schemas) are simple schemas
|
|
||||||
// and $ref are not supported here. However it is possible to analyze this.
|
|
||||||
r.headerItems["#"+key] = items.Ref
|
|
||||||
} else {
|
|
||||||
r.parameterItems["#"+key] = items.Ref
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (r *referenceAnalysis) addSchemaRef(key string, ref SchemaRef) {
|
|
||||||
r.schemas["#"+key] = ref.Schema.Ref
|
|
||||||
r.addRef(key, ref.Schema.Ref)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (r *referenceAnalysis) addResponseRef(key string, resp *spec.Response) {
|
|
||||||
r.responses["#"+key] = resp.Ref
|
|
||||||
r.addRef(key, resp.Ref)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (r *referenceAnalysis) addParamRef(key string, param *spec.Parameter) {
|
|
||||||
r.parameters["#"+key] = param.Ref
|
|
||||||
r.addRef(key, param.Ref)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (r *referenceAnalysis) addPathItemRef(key string, pathItem *spec.PathItem) {
|
|
||||||
r.pathItems["#"+key] = pathItem.Ref
|
|
||||||
r.addRef(key, pathItem.Ref)
|
|
||||||
}
|
|
||||||
|
|
||||||
type patternAnalysis struct {
|
|
||||||
parameters map[string]string
|
|
||||||
headers map[string]string
|
|
||||||
items map[string]string
|
|
||||||
schemas map[string]string
|
|
||||||
allPatterns map[string]string
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p *patternAnalysis) addPattern(key, pattern string) {
|
|
||||||
p.allPatterns["#"+key] = pattern
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p *patternAnalysis) addParameterPattern(key, pattern string) {
|
|
||||||
p.parameters["#"+key] = pattern
|
|
||||||
p.addPattern(key, pattern)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p *patternAnalysis) addHeaderPattern(key, pattern string) {
|
|
||||||
p.headers["#"+key] = pattern
|
|
||||||
p.addPattern(key, pattern)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p *patternAnalysis) addItemsPattern(key, pattern string) {
|
|
||||||
p.items["#"+key] = pattern
|
|
||||||
p.addPattern(key, pattern)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p *patternAnalysis) addSchemaPattern(key, pattern string) {
|
|
||||||
p.schemas["#"+key] = pattern
|
|
||||||
p.addPattern(key, pattern)
|
|
||||||
}
|
|
||||||
|
|
||||||
type enumAnalysis struct {
|
|
||||||
parameters map[string][]interface{}
|
|
||||||
headers map[string][]interface{}
|
|
||||||
items map[string][]interface{}
|
|
||||||
schemas map[string][]interface{}
|
|
||||||
allEnums map[string][]interface{}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p *enumAnalysis) addEnum(key string, enum []interface{}) {
|
|
||||||
p.allEnums["#"+key] = enum
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p *enumAnalysis) addParameterEnum(key string, enum []interface{}) {
|
|
||||||
p.parameters["#"+key] = enum
|
|
||||||
p.addEnum(key, enum)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p *enumAnalysis) addHeaderEnum(key string, enum []interface{}) {
|
|
||||||
p.headers["#"+key] = enum
|
|
||||||
p.addEnum(key, enum)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p *enumAnalysis) addItemsEnum(key string, enum []interface{}) {
|
|
||||||
p.items["#"+key] = enum
|
|
||||||
p.addEnum(key, enum)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p *enumAnalysis) addSchemaEnum(key string, enum []interface{}) {
|
|
||||||
p.schemas["#"+key] = enum
|
|
||||||
p.addEnum(key, enum)
|
|
||||||
}
|
|
||||||
|
|
||||||
// New takes a swagger spec object and returns an analyzed spec document.
|
|
||||||
// The analyzed document contains a number of indices that make it easier to
|
|
||||||
// reason about semantics of a swagger specification for use in code generation
|
|
||||||
// or validation etc.
|
|
||||||
func New(doc *spec.Swagger) *Spec {
|
|
||||||
a := &Spec{
|
|
||||||
spec: doc,
|
|
||||||
references: referenceAnalysis{},
|
|
||||||
patterns: patternAnalysis{},
|
|
||||||
enums: enumAnalysis{},
|
|
||||||
}
|
|
||||||
a.reset()
|
|
||||||
a.initialize()
|
|
||||||
return a
|
|
||||||
}
|
|
||||||
|
|
||||||
// Spec is an analyzed specification object. It takes a swagger spec object and turns it into a registry
|
|
||||||
// with a bunch of utility methods to act on the information in the spec.
|
|
||||||
type Spec struct {
|
|
||||||
spec *spec.Swagger
|
|
||||||
consumes map[string]struct{}
|
|
||||||
produces map[string]struct{}
|
|
||||||
authSchemes map[string]struct{}
|
|
||||||
operations map[string]map[string]*spec.Operation
|
|
||||||
references referenceAnalysis
|
|
||||||
patterns patternAnalysis
|
|
||||||
enums enumAnalysis
|
|
||||||
allSchemas map[string]SchemaRef
|
|
||||||
allOfs map[string]SchemaRef
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *Spec) reset() {
|
|
||||||
s.consumes = make(map[string]struct{}, 150)
|
|
||||||
s.produces = make(map[string]struct{}, 150)
|
|
||||||
s.authSchemes = make(map[string]struct{}, 150)
|
|
||||||
s.operations = make(map[string]map[string]*spec.Operation, 150)
|
|
||||||
s.allSchemas = make(map[string]SchemaRef, 150)
|
|
||||||
s.allOfs = make(map[string]SchemaRef, 150)
|
|
||||||
s.references.schemas = make(map[string]spec.Ref, 150)
|
|
||||||
s.references.pathItems = make(map[string]spec.Ref, 150)
|
|
||||||
s.references.responses = make(map[string]spec.Ref, 150)
|
|
||||||
s.references.parameters = make(map[string]spec.Ref, 150)
|
|
||||||
s.references.items = make(map[string]spec.Ref, 150)
|
|
||||||
s.references.headerItems = make(map[string]spec.Ref, 150)
|
|
||||||
s.references.parameterItems = make(map[string]spec.Ref, 150)
|
|
||||||
s.references.allRefs = make(map[string]spec.Ref, 150)
|
|
||||||
s.patterns.parameters = make(map[string]string, 150)
|
|
||||||
s.patterns.headers = make(map[string]string, 150)
|
|
||||||
s.patterns.items = make(map[string]string, 150)
|
|
||||||
s.patterns.schemas = make(map[string]string, 150)
|
|
||||||
s.patterns.allPatterns = make(map[string]string, 150)
|
|
||||||
s.enums.parameters = make(map[string][]interface{}, 150)
|
|
||||||
s.enums.headers = make(map[string][]interface{}, 150)
|
|
||||||
s.enums.items = make(map[string][]interface{}, 150)
|
|
||||||
s.enums.schemas = make(map[string][]interface{}, 150)
|
|
||||||
s.enums.allEnums = make(map[string][]interface{}, 150)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *Spec) reload() {
|
|
||||||
s.reset()
|
|
||||||
s.initialize()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *Spec) initialize() {
|
|
||||||
for _, c := range s.spec.Consumes {
|
|
||||||
s.consumes[c] = struct{}{}
|
|
||||||
}
|
|
||||||
for _, c := range s.spec.Produces {
|
|
||||||
s.produces[c] = struct{}{}
|
|
||||||
}
|
|
||||||
for _, ss := range s.spec.Security {
|
|
||||||
for k := range ss {
|
|
||||||
s.authSchemes[k] = struct{}{}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for path, pathItem := range s.AllPaths() {
|
|
||||||
s.analyzeOperations(path, &pathItem)
|
|
||||||
}
|
|
||||||
|
|
||||||
for name, parameter := range s.spec.Parameters {
|
|
||||||
refPref := slashpath.Join("/parameters", jsonpointer.Escape(name))
|
|
||||||
if parameter.Items != nil {
|
|
||||||
s.analyzeItems("items", parameter.Items, refPref, "parameter")
|
|
||||||
}
|
|
||||||
if parameter.In == "body" && parameter.Schema != nil {
|
|
||||||
s.analyzeSchema("schema", *parameter.Schema, refPref)
|
|
||||||
}
|
|
||||||
if parameter.Pattern != "" {
|
|
||||||
s.patterns.addParameterPattern(refPref, parameter.Pattern)
|
|
||||||
}
|
|
||||||
if len(parameter.Enum) > 0 {
|
|
||||||
s.enums.addParameterEnum(refPref, parameter.Enum)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for name, response := range s.spec.Responses {
|
|
||||||
refPref := slashpath.Join("/responses", jsonpointer.Escape(name))
|
|
||||||
for k, v := range response.Headers {
|
|
||||||
hRefPref := slashpath.Join(refPref, "headers", k)
|
|
||||||
if v.Items != nil {
|
|
||||||
s.analyzeItems("items", v.Items, hRefPref, "header")
|
|
||||||
}
|
|
||||||
if v.Pattern != "" {
|
|
||||||
s.patterns.addHeaderPattern(hRefPref, v.Pattern)
|
|
||||||
}
|
|
||||||
if len(v.Enum) > 0 {
|
|
||||||
s.enums.addHeaderEnum(hRefPref, v.Enum)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if response.Schema != nil {
|
|
||||||
s.analyzeSchema("schema", *response.Schema, refPref)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for name, schema := range s.spec.Definitions {
|
|
||||||
s.analyzeSchema(name, schema, "/definitions")
|
|
||||||
}
|
|
||||||
// TODO: after analyzing all things and flattening schemas etc
|
|
||||||
// resolve all the collected references to their final representations
|
|
||||||
// best put in a separate method because this could get expensive
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *Spec) analyzeOperations(path string, pi *spec.PathItem) {
|
|
||||||
// TODO: resolve refs here?
|
|
||||||
// Currently, operations declared via pathItem $ref are known only after expansion
|
|
||||||
op := pi
|
|
||||||
if pi.Ref.String() != "" {
|
|
||||||
key := slashpath.Join("/paths", jsonpointer.Escape(path))
|
|
||||||
s.references.addPathItemRef(key, pi)
|
|
||||||
}
|
|
||||||
s.analyzeOperation("GET", path, op.Get)
|
|
||||||
s.analyzeOperation("PUT", path, op.Put)
|
|
||||||
s.analyzeOperation("POST", path, op.Post)
|
|
||||||
s.analyzeOperation("PATCH", path, op.Patch)
|
|
||||||
s.analyzeOperation("DELETE", path, op.Delete)
|
|
||||||
s.analyzeOperation("HEAD", path, op.Head)
|
|
||||||
s.analyzeOperation("OPTIONS", path, op.Options)
|
|
||||||
for i, param := range op.Parameters {
|
|
||||||
refPref := slashpath.Join("/paths", jsonpointer.Escape(path), "parameters", strconv.Itoa(i))
|
|
||||||
if param.Ref.String() != "" {
|
|
||||||
s.references.addParamRef(refPref, ¶m)
|
|
||||||
}
|
|
||||||
if param.Pattern != "" {
|
|
||||||
s.patterns.addParameterPattern(refPref, param.Pattern)
|
|
||||||
}
|
|
||||||
if len(param.Enum) > 0 {
|
|
||||||
s.enums.addParameterEnum(refPref, param.Enum)
|
|
||||||
}
|
|
||||||
if param.Items != nil {
|
|
||||||
s.analyzeItems("items", param.Items, refPref, "parameter")
|
|
||||||
}
|
|
||||||
if param.Schema != nil {
|
|
||||||
s.analyzeSchema("schema", *param.Schema, refPref)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *Spec) analyzeItems(name string, items *spec.Items, prefix, location string) {
|
|
||||||
if items == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
refPref := slashpath.Join(prefix, name)
|
|
||||||
s.analyzeItems(name, items.Items, refPref, location)
|
|
||||||
if items.Ref.String() != "" {
|
|
||||||
s.references.addItemsRef(refPref, items, location)
|
|
||||||
}
|
|
||||||
if items.Pattern != "" {
|
|
||||||
s.patterns.addItemsPattern(refPref, items.Pattern)
|
|
||||||
}
|
|
||||||
if len(items.Enum) > 0 {
|
|
||||||
s.enums.addItemsEnum(refPref, items.Enum)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *Spec) analyzeOperation(method, path string, op *spec.Operation) {
|
|
||||||
if op == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, c := range op.Consumes {
|
|
||||||
s.consumes[c] = struct{}{}
|
|
||||||
}
|
|
||||||
for _, c := range op.Produces {
|
|
||||||
s.produces[c] = struct{}{}
|
|
||||||
}
|
|
||||||
for _, ss := range op.Security {
|
|
||||||
for k := range ss {
|
|
||||||
s.authSchemes[k] = struct{}{}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if _, ok := s.operations[method]; !ok {
|
|
||||||
s.operations[method] = make(map[string]*spec.Operation)
|
|
||||||
}
|
|
||||||
s.operations[method][path] = op
|
|
||||||
prefix := slashpath.Join("/paths", jsonpointer.Escape(path), strings.ToLower(method))
|
|
||||||
for i, param := range op.Parameters {
|
|
||||||
refPref := slashpath.Join(prefix, "parameters", strconv.Itoa(i))
|
|
||||||
if param.Ref.String() != "" {
|
|
||||||
s.references.addParamRef(refPref, ¶m)
|
|
||||||
}
|
|
||||||
if param.Pattern != "" {
|
|
||||||
s.patterns.addParameterPattern(refPref, param.Pattern)
|
|
||||||
}
|
|
||||||
if len(param.Enum) > 0 {
|
|
||||||
s.enums.addParameterEnum(refPref, param.Enum)
|
|
||||||
}
|
|
||||||
s.analyzeItems("items", param.Items, refPref, "parameter")
|
|
||||||
if param.In == "body" && param.Schema != nil {
|
|
||||||
s.analyzeSchema("schema", *param.Schema, refPref)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if op.Responses != nil {
|
|
||||||
if op.Responses.Default != nil {
|
|
||||||
refPref := slashpath.Join(prefix, "responses", "default")
|
|
||||||
if op.Responses.Default.Ref.String() != "" {
|
|
||||||
s.references.addResponseRef(refPref, op.Responses.Default)
|
|
||||||
}
|
|
||||||
for k, v := range op.Responses.Default.Headers {
|
|
||||||
hRefPref := slashpath.Join(refPref, "headers", k)
|
|
||||||
s.analyzeItems("items", v.Items, hRefPref, "header")
|
|
||||||
if v.Pattern != "" {
|
|
||||||
s.patterns.addHeaderPattern(hRefPref, v.Pattern)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if op.Responses.Default.Schema != nil {
|
|
||||||
s.analyzeSchema("schema", *op.Responses.Default.Schema, refPref)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for k, res := range op.Responses.StatusCodeResponses {
|
|
||||||
refPref := slashpath.Join(prefix, "responses", strconv.Itoa(k))
|
|
||||||
if res.Ref.String() != "" {
|
|
||||||
s.references.addResponseRef(refPref, &res)
|
|
||||||
}
|
|
||||||
for k, v := range res.Headers {
|
|
||||||
hRefPref := slashpath.Join(refPref, "headers", k)
|
|
||||||
s.analyzeItems("items", v.Items, hRefPref, "header")
|
|
||||||
if v.Pattern != "" {
|
|
||||||
s.patterns.addHeaderPattern(hRefPref, v.Pattern)
|
|
||||||
}
|
|
||||||
if len(v.Enum) > 0 {
|
|
||||||
s.enums.addHeaderEnum(hRefPref, v.Enum)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if res.Schema != nil {
|
|
||||||
s.analyzeSchema("schema", *res.Schema, refPref)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *Spec) analyzeSchema(name string, schema spec.Schema, prefix string) {
|
|
||||||
refURI := slashpath.Join(prefix, jsonpointer.Escape(name))
|
|
||||||
schRef := SchemaRef{
|
|
||||||
Name: name,
|
|
||||||
Schema: &schema,
|
|
||||||
Ref: spec.MustCreateRef("#" + refURI),
|
|
||||||
TopLevel: prefix == "/definitions",
|
|
||||||
}
|
|
||||||
|
|
||||||
s.allSchemas["#"+refURI] = schRef
|
|
||||||
|
|
||||||
if schema.Ref.String() != "" {
|
|
||||||
s.references.addSchemaRef(refURI, schRef)
|
|
||||||
}
|
|
||||||
if schema.Pattern != "" {
|
|
||||||
s.patterns.addSchemaPattern(refURI, schema.Pattern)
|
|
||||||
}
|
|
||||||
if len(schema.Enum) > 0 {
|
|
||||||
s.enums.addSchemaEnum(refURI, schema.Enum)
|
|
||||||
}
|
|
||||||
|
|
||||||
for k, v := range schema.Definitions {
|
|
||||||
s.analyzeSchema(k, v, slashpath.Join(refURI, "definitions"))
|
|
||||||
}
|
|
||||||
for k, v := range schema.Properties {
|
|
||||||
s.analyzeSchema(k, v, slashpath.Join(refURI, "properties"))
|
|
||||||
}
|
|
||||||
for k, v := range schema.PatternProperties {
|
|
||||||
// NOTE: swagger 2.0 does not support PatternProperties.
|
|
||||||
// However it is possible to analyze this in a schema
|
|
||||||
s.analyzeSchema(k, v, slashpath.Join(refURI, "patternProperties"))
|
|
||||||
}
|
|
||||||
for i, v := range schema.AllOf {
|
|
||||||
s.analyzeSchema(strconv.Itoa(i), v, slashpath.Join(refURI, "allOf"))
|
|
||||||
}
|
|
||||||
if len(schema.AllOf) > 0 {
|
|
||||||
s.allOfs["#"+refURI] = schRef
|
|
||||||
}
|
|
||||||
for i, v := range schema.AnyOf {
|
|
||||||
// NOTE: swagger 2.0 does not support anyOf constructs.
|
|
||||||
// However it is possible to analyze this in a schema
|
|
||||||
s.analyzeSchema(strconv.Itoa(i), v, slashpath.Join(refURI, "anyOf"))
|
|
||||||
}
|
|
||||||
for i, v := range schema.OneOf {
|
|
||||||
// NOTE: swagger 2.0 does not support oneOf constructs.
|
|
||||||
// However it is possible to analyze this in a schema
|
|
||||||
s.analyzeSchema(strconv.Itoa(i), v, slashpath.Join(refURI, "oneOf"))
|
|
||||||
}
|
|
||||||
if schema.Not != nil {
|
|
||||||
// NOTE: swagger 2.0 does not support "not" constructs.
|
|
||||||
// However it is possible to analyze this in a schema
|
|
||||||
s.analyzeSchema("not", *schema.Not, refURI)
|
|
||||||
}
|
|
||||||
if schema.AdditionalProperties != nil && schema.AdditionalProperties.Schema != nil {
|
|
||||||
s.analyzeSchema("additionalProperties", *schema.AdditionalProperties.Schema, refURI)
|
|
||||||
}
|
|
||||||
if schema.AdditionalItems != nil && schema.AdditionalItems.Schema != nil {
|
|
||||||
// NOTE: swagger 2.0 does not support AdditionalItems.
|
|
||||||
// However it is possible to analyze this in a schema
|
|
||||||
s.analyzeSchema("additionalItems", *schema.AdditionalItems.Schema, refURI)
|
|
||||||
}
|
|
||||||
if schema.Items != nil {
|
|
||||||
if schema.Items.Schema != nil {
|
|
||||||
s.analyzeSchema("items", *schema.Items.Schema, refURI)
|
|
||||||
}
|
|
||||||
for i, sch := range schema.Items.Schemas {
|
|
||||||
s.analyzeSchema(strconv.Itoa(i), sch, slashpath.Join(refURI, "items"))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// SecurityRequirement is a representation of a security requirement for an operation
|
|
||||||
type SecurityRequirement struct {
|
|
||||||
Name string
|
|
||||||
Scopes []string
|
|
||||||
}
|
|
||||||
|
|
||||||
// SecurityRequirementsFor gets the security requirements for the operation
|
|
||||||
func (s *Spec) SecurityRequirementsFor(operation *spec.Operation) [][]SecurityRequirement {
|
|
||||||
if s.spec.Security == nil && operation.Security == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
schemes := s.spec.Security
|
|
||||||
if operation.Security != nil {
|
|
||||||
schemes = operation.Security
|
|
||||||
}
|
|
||||||
|
|
||||||
result := [][]SecurityRequirement{}
|
|
||||||
for _, scheme := range schemes {
|
|
||||||
if len(scheme) == 0 {
|
|
||||||
// append a zero object for anonymous
|
|
||||||
result = append(result, []SecurityRequirement{{}})
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
var reqs []SecurityRequirement
|
|
||||||
for k, v := range scheme {
|
|
||||||
if v == nil {
|
|
||||||
v = []string{}
|
|
||||||
}
|
|
||||||
reqs = append(reqs, SecurityRequirement{Name: k, Scopes: v})
|
|
||||||
}
|
|
||||||
result = append(result, reqs)
|
|
||||||
}
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
|
|
||||||
// SecurityDefinitionsForRequirements gets the matching security definitions for a set of requirements
|
|
||||||
func (s *Spec) SecurityDefinitionsForRequirements(requirements []SecurityRequirement) map[string]spec.SecurityScheme {
|
|
||||||
result := make(map[string]spec.SecurityScheme)
|
|
||||||
|
|
||||||
for _, v := range requirements {
|
|
||||||
if definition, ok := s.spec.SecurityDefinitions[v.Name]; ok {
|
|
||||||
if definition != nil {
|
|
||||||
result[v.Name] = *definition
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
|
|
||||||
// SecurityDefinitionsFor gets the matching security definitions for a set of requirements
|
|
||||||
func (s *Spec) SecurityDefinitionsFor(operation *spec.Operation) map[string]spec.SecurityScheme {
|
|
||||||
requirements := s.SecurityRequirementsFor(operation)
|
|
||||||
if len(requirements) == 0 {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
result := make(map[string]spec.SecurityScheme)
|
|
||||||
for _, reqs := range requirements {
|
|
||||||
for _, v := range reqs {
|
|
||||||
if v.Name == "" {
|
|
||||||
// optional requirement
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if _, ok := result[v.Name]; ok {
|
|
||||||
// duplicate requirement
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if definition, ok := s.spec.SecurityDefinitions[v.Name]; ok {
|
|
||||||
if definition != nil {
|
|
||||||
result[v.Name] = *definition
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
|
|
||||||
// ConsumesFor gets the mediatypes for the operation
|
|
||||||
func (s *Spec) ConsumesFor(operation *spec.Operation) []string {
|
|
||||||
|
|
||||||
if len(operation.Consumes) == 0 {
|
|
||||||
cons := make(map[string]struct{}, len(s.spec.Consumes))
|
|
||||||
for _, k := range s.spec.Consumes {
|
|
||||||
cons[k] = struct{}{}
|
|
||||||
}
|
|
||||||
return s.structMapKeys(cons)
|
|
||||||
}
|
|
||||||
|
|
||||||
cons := make(map[string]struct{}, len(operation.Consumes))
|
|
||||||
for _, c := range operation.Consumes {
|
|
||||||
cons[c] = struct{}{}
|
|
||||||
}
|
|
||||||
return s.structMapKeys(cons)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ProducesFor gets the mediatypes for the operation
|
|
||||||
func (s *Spec) ProducesFor(operation *spec.Operation) []string {
|
|
||||||
if len(operation.Produces) == 0 {
|
|
||||||
prod := make(map[string]struct{}, len(s.spec.Produces))
|
|
||||||
for _, k := range s.spec.Produces {
|
|
||||||
prod[k] = struct{}{}
|
|
||||||
}
|
|
||||||
return s.structMapKeys(prod)
|
|
||||||
}
|
|
||||||
|
|
||||||
prod := make(map[string]struct{}, len(operation.Produces))
|
|
||||||
for _, c := range operation.Produces {
|
|
||||||
prod[c] = struct{}{}
|
|
||||||
}
|
|
||||||
return s.structMapKeys(prod)
|
|
||||||
}
|
|
||||||
|
|
||||||
func mapKeyFromParam(param *spec.Parameter) string {
|
|
||||||
return fmt.Sprintf("%s#%s", param.In, fieldNameFromParam(param))
|
|
||||||
}
|
|
||||||
|
|
||||||
func fieldNameFromParam(param *spec.Parameter) string {
|
|
||||||
// TODO: this should be x-go-name
|
|
||||||
if nm, ok := param.Extensions.GetString("go-name"); ok {
|
|
||||||
return nm
|
|
||||||
}
|
|
||||||
return swag.ToGoName(param.Name)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ErrorOnParamFunc is a callback function to be invoked
|
|
||||||
// whenever an error is encountered while resolving references
|
|
||||||
// on parameters.
|
|
||||||
//
|
|
||||||
// This function takes as input the spec.Parameter which triggered the
|
|
||||||
// error and the error itself.
|
|
||||||
//
|
|
||||||
// If the callback function returns false, the calling function should bail.
|
|
||||||
//
|
|
||||||
// If it returns true, the calling function should continue evaluating parameters.
|
|
||||||
// A nil ErrorOnParamFunc must be evaluated as equivalent to panic().
|
|
||||||
type ErrorOnParamFunc func(spec.Parameter, error) bool
|
|
||||||
|
|
||||||
func (s *Spec) paramsAsMap(parameters []spec.Parameter, res map[string]spec.Parameter, callmeOnError ErrorOnParamFunc) {
|
|
||||||
for _, param := range parameters {
|
|
||||||
pr := param
|
|
||||||
if pr.Ref.String() != "" {
|
|
||||||
obj, _, err := pr.Ref.GetPointer().Get(s.spec)
|
|
||||||
if err != nil {
|
|
||||||
if callmeOnError != nil {
|
|
||||||
if callmeOnError(param, fmt.Errorf("invalid reference: %q", pr.Ref.String())) {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
break
|
|
||||||
} else {
|
|
||||||
panic(fmt.Sprintf("invalid reference: %q", pr.Ref.String()))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if objAsParam, ok := obj.(spec.Parameter); ok {
|
|
||||||
pr = objAsParam
|
|
||||||
} else {
|
|
||||||
if callmeOnError != nil {
|
|
||||||
if callmeOnError(param, fmt.Errorf("resolved reference is not a parameter: %q", pr.Ref.String())) {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
break
|
|
||||||
} else {
|
|
||||||
panic(fmt.Sprintf("resolved reference is not a parameter: %q", pr.Ref.String()))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
res[mapKeyFromParam(&pr)] = pr
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ParametersFor the specified operation id.
|
|
||||||
//
|
|
||||||
// Assumes parameters properly resolve references if any and that
|
|
||||||
// such references actually resolve to a parameter object.
|
|
||||||
// Otherwise, panics.
|
|
||||||
func (s *Spec) ParametersFor(operationID string) []spec.Parameter {
|
|
||||||
return s.SafeParametersFor(operationID, nil)
|
|
||||||
}
|
|
||||||
|
|
||||||
// SafeParametersFor the specified operation id.
|
|
||||||
//
|
|
||||||
// Does not assume parameters properly resolve references or that
|
|
||||||
// such references actually resolve to a parameter object.
|
|
||||||
//
|
|
||||||
// Upon error, invoke a ErrorOnParamFunc callback with the erroneous
|
|
||||||
// parameters. If the callback is set to nil, panics upon errors.
|
|
||||||
func (s *Spec) SafeParametersFor(operationID string, callmeOnError ErrorOnParamFunc) []spec.Parameter {
|
|
||||||
gatherParams := func(pi *spec.PathItem, op *spec.Operation) []spec.Parameter {
|
|
||||||
bag := make(map[string]spec.Parameter)
|
|
||||||
s.paramsAsMap(pi.Parameters, bag, callmeOnError)
|
|
||||||
s.paramsAsMap(op.Parameters, bag, callmeOnError)
|
|
||||||
|
|
||||||
var res []spec.Parameter
|
|
||||||
for _, v := range bag {
|
|
||||||
res = append(res, v)
|
|
||||||
}
|
|
||||||
return res
|
|
||||||
}
|
|
||||||
for _, pi := range s.spec.Paths.Paths {
|
|
||||||
if pi.Get != nil && pi.Get.ID == operationID {
|
|
||||||
return gatherParams(&pi, pi.Get)
|
|
||||||
}
|
|
||||||
if pi.Head != nil && pi.Head.ID == operationID {
|
|
||||||
return gatherParams(&pi, pi.Head)
|
|
||||||
}
|
|
||||||
if pi.Options != nil && pi.Options.ID == operationID {
|
|
||||||
return gatherParams(&pi, pi.Options)
|
|
||||||
}
|
|
||||||
if pi.Post != nil && pi.Post.ID == operationID {
|
|
||||||
return gatherParams(&pi, pi.Post)
|
|
||||||
}
|
|
||||||
if pi.Patch != nil && pi.Patch.ID == operationID {
|
|
||||||
return gatherParams(&pi, pi.Patch)
|
|
||||||
}
|
|
||||||
if pi.Put != nil && pi.Put.ID == operationID {
|
|
||||||
return gatherParams(&pi, pi.Put)
|
|
||||||
}
|
|
||||||
if pi.Delete != nil && pi.Delete.ID == operationID {
|
|
||||||
return gatherParams(&pi, pi.Delete)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// ParamsFor the specified method and path. Aggregates them with the defaults etc, so it's all the params that
|
|
||||||
// apply for the method and path.
|
|
||||||
//
|
|
||||||
// Assumes parameters properly resolve references if any and that
|
|
||||||
// such references actually resolve to a parameter object.
|
|
||||||
// Otherwise, panics.
|
|
||||||
func (s *Spec) ParamsFor(method, path string) map[string]spec.Parameter {
|
|
||||||
return s.SafeParamsFor(method, path, nil)
|
|
||||||
}
|
|
||||||
|
|
||||||
// SafeParamsFor the specified method and path. Aggregates them with the defaults etc, so it's all the params that
|
|
||||||
// apply for the method and path.
|
|
||||||
//
|
|
||||||
// Does not assume parameters properly resolve references or that
|
|
||||||
// such references actually resolve to a parameter object.
|
|
||||||
//
|
|
||||||
// Upon error, invoke a ErrorOnParamFunc callback with the erroneous
|
|
||||||
// parameters. If the callback is set to nil, panics upon errors.
|
|
||||||
func (s *Spec) SafeParamsFor(method, path string, callmeOnError ErrorOnParamFunc) map[string]spec.Parameter {
|
|
||||||
res := make(map[string]spec.Parameter)
|
|
||||||
if pi, ok := s.spec.Paths.Paths[path]; ok {
|
|
||||||
s.paramsAsMap(pi.Parameters, res, callmeOnError)
|
|
||||||
s.paramsAsMap(s.operations[strings.ToUpper(method)][path].Parameters, res, callmeOnError)
|
|
||||||
}
|
|
||||||
return res
|
|
||||||
}
|
|
||||||
|
|
||||||
// OperationForName gets the operation for the given id
|
|
||||||
func (s *Spec) OperationForName(operationID string) (string, string, *spec.Operation, bool) {
|
|
||||||
for method, pathItem := range s.operations {
|
|
||||||
for path, op := range pathItem {
|
|
||||||
if operationID == op.ID {
|
|
||||||
return method, path, op, true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return "", "", nil, false
|
|
||||||
}
|
|
||||||
|
|
||||||
// OperationFor the given method and path
|
|
||||||
func (s *Spec) OperationFor(method, path string) (*spec.Operation, bool) {
|
|
||||||
if mp, ok := s.operations[strings.ToUpper(method)]; ok {
|
|
||||||
op, fn := mp[path]
|
|
||||||
return op, fn
|
|
||||||
}
|
|
||||||
return nil, false
|
|
||||||
}
|
|
||||||
|
|
||||||
// Operations gathers all the operations specified in the spec document
|
|
||||||
func (s *Spec) Operations() map[string]map[string]*spec.Operation {
|
|
||||||
return s.operations
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *Spec) structMapKeys(mp map[string]struct{}) []string {
|
|
||||||
if len(mp) == 0 {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
result := make([]string, 0, len(mp))
|
|
||||||
for k := range mp {
|
|
||||||
result = append(result, k)
|
|
||||||
}
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
|
|
||||||
// AllPaths returns all the paths in the swagger spec
|
|
||||||
func (s *Spec) AllPaths() map[string]spec.PathItem {
|
|
||||||
if s.spec == nil || s.spec.Paths == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
return s.spec.Paths.Paths
|
|
||||||
}
|
|
||||||
|
|
||||||
// OperationIDs gets all the operation ids based on method an dpath
|
|
||||||
func (s *Spec) OperationIDs() []string {
|
|
||||||
if len(s.operations) == 0 {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
result := make([]string, 0, len(s.operations))
|
|
||||||
for method, v := range s.operations {
|
|
||||||
for p, o := range v {
|
|
||||||
if o.ID != "" {
|
|
||||||
result = append(result, o.ID)
|
|
||||||
} else {
|
|
||||||
result = append(result, fmt.Sprintf("%s %s", strings.ToUpper(method), p))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
|
|
||||||
// OperationMethodPaths gets all the operation ids based on method an dpath
|
|
||||||
func (s *Spec) OperationMethodPaths() []string {
|
|
||||||
if len(s.operations) == 0 {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
result := make([]string, 0, len(s.operations))
|
|
||||||
for method, v := range s.operations {
|
|
||||||
for p := range v {
|
|
||||||
result = append(result, fmt.Sprintf("%s %s", strings.ToUpper(method), p))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
|
|
||||||
// RequiredConsumes gets all the distinct consumes that are specified in the specification document
|
|
||||||
func (s *Spec) RequiredConsumes() []string {
|
|
||||||
return s.structMapKeys(s.consumes)
|
|
||||||
}
|
|
||||||
|
|
||||||
// RequiredProduces gets all the distinct produces that are specified in the specification document
|
|
||||||
func (s *Spec) RequiredProduces() []string {
|
|
||||||
return s.structMapKeys(s.produces)
|
|
||||||
}
|
|
||||||
|
|
||||||
// RequiredSecuritySchemes gets all the distinct security schemes that are specified in the swagger spec
|
|
||||||
func (s *Spec) RequiredSecuritySchemes() []string {
|
|
||||||
return s.structMapKeys(s.authSchemes)
|
|
||||||
}
|
|
||||||
|
|
||||||
// SchemaRef is a reference to a schema
|
|
||||||
type SchemaRef struct {
|
|
||||||
Name string
|
|
||||||
Ref spec.Ref
|
|
||||||
Schema *spec.Schema
|
|
||||||
TopLevel bool
|
|
||||||
}
|
|
||||||
|
|
||||||
// SchemasWithAllOf returns schema references to all schemas that are defined
|
|
||||||
// with an allOf key
|
|
||||||
func (s *Spec) SchemasWithAllOf() (result []SchemaRef) {
|
|
||||||
for _, v := range s.allOfs {
|
|
||||||
result = append(result, v)
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// AllDefinitions returns schema references for all the definitions that were discovered
|
|
||||||
func (s *Spec) AllDefinitions() (result []SchemaRef) {
|
|
||||||
for _, v := range s.allSchemas {
|
|
||||||
result = append(result, v)
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// AllDefinitionReferences returns json refs for all the discovered schemas
|
|
||||||
func (s *Spec) AllDefinitionReferences() (result []string) {
|
|
||||||
for _, v := range s.references.schemas {
|
|
||||||
result = append(result, v.String())
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// AllParameterReferences returns json refs for all the discovered parameters
|
|
||||||
func (s *Spec) AllParameterReferences() (result []string) {
|
|
||||||
for _, v := range s.references.parameters {
|
|
||||||
result = append(result, v.String())
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// AllResponseReferences returns json refs for all the discovered responses
|
|
||||||
func (s *Spec) AllResponseReferences() (result []string) {
|
|
||||||
for _, v := range s.references.responses {
|
|
||||||
result = append(result, v.String())
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// AllPathItemReferences returns the references for all the items
|
|
||||||
func (s *Spec) AllPathItemReferences() (result []string) {
|
|
||||||
for _, v := range s.references.pathItems {
|
|
||||||
result = append(result, v.String())
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// AllItemsReferences returns the references for all the items in simple schemas (parameters or headers).
|
|
||||||
//
|
|
||||||
// NOTE: since Swagger 2.0 forbids $ref in simple params, this should always yield an empty slice for a valid
|
|
||||||
// Swagger 2.0 spec.
|
|
||||||
func (s *Spec) AllItemsReferences() (result []string) {
|
|
||||||
for _, v := range s.references.items {
|
|
||||||
result = append(result, v.String())
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// AllReferences returns all the references found in the document, with possible duplicates
|
|
||||||
func (s *Spec) AllReferences() (result []string) {
|
|
||||||
for _, v := range s.references.allRefs {
|
|
||||||
result = append(result, v.String())
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// AllRefs returns all the unique references found in the document
|
|
||||||
func (s *Spec) AllRefs() (result []spec.Ref) {
|
|
||||||
set := make(map[string]struct{})
|
|
||||||
for _, v := range s.references.allRefs {
|
|
||||||
a := v.String()
|
|
||||||
if a == "" {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if _, ok := set[a]; !ok {
|
|
||||||
set[a] = struct{}{}
|
|
||||||
result = append(result, v)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
func cloneStringMap(source map[string]string) map[string]string {
|
|
||||||
res := make(map[string]string, len(source))
|
|
||||||
for k, v := range source {
|
|
||||||
res[k] = v
|
|
||||||
}
|
|
||||||
return res
|
|
||||||
}
|
|
||||||
|
|
||||||
func cloneEnumMap(source map[string][]interface{}) map[string][]interface{} {
|
|
||||||
res := make(map[string][]interface{}, len(source))
|
|
||||||
for k, v := range source {
|
|
||||||
res[k] = v
|
|
||||||
}
|
|
||||||
return res
|
|
||||||
}
|
|
||||||
|
|
||||||
// ParameterPatterns returns all the patterns found in parameters
|
|
||||||
// the map is cloned to avoid accidental changes
|
|
||||||
func (s *Spec) ParameterPatterns() map[string]string {
|
|
||||||
return cloneStringMap(s.patterns.parameters)
|
|
||||||
}
|
|
||||||
|
|
||||||
// HeaderPatterns returns all the patterns found in response headers
|
|
||||||
// the map is cloned to avoid accidental changes
|
|
||||||
func (s *Spec) HeaderPatterns() map[string]string {
|
|
||||||
return cloneStringMap(s.patterns.headers)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ItemsPatterns returns all the patterns found in simple array items
|
|
||||||
// the map is cloned to avoid accidental changes
|
|
||||||
func (s *Spec) ItemsPatterns() map[string]string {
|
|
||||||
return cloneStringMap(s.patterns.items)
|
|
||||||
}
|
|
||||||
|
|
||||||
// SchemaPatterns returns all the patterns found in schemas
|
|
||||||
// the map is cloned to avoid accidental changes
|
|
||||||
func (s *Spec) SchemaPatterns() map[string]string {
|
|
||||||
return cloneStringMap(s.patterns.schemas)
|
|
||||||
}
|
|
||||||
|
|
||||||
// AllPatterns returns all the patterns found in the spec
|
|
||||||
// the map is cloned to avoid accidental changes
|
|
||||||
func (s *Spec) AllPatterns() map[string]string {
|
|
||||||
return cloneStringMap(s.patterns.allPatterns)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ParameterEnums returns all the enums found in parameters
|
|
||||||
// the map is cloned to avoid accidental changes
|
|
||||||
func (s *Spec) ParameterEnums() map[string][]interface{} {
|
|
||||||
return cloneEnumMap(s.enums.parameters)
|
|
||||||
}
|
|
||||||
|
|
||||||
// HeaderEnums returns all the enums found in response headers
|
|
||||||
// the map is cloned to avoid accidental changes
|
|
||||||
func (s *Spec) HeaderEnums() map[string][]interface{} {
|
|
||||||
return cloneEnumMap(s.enums.headers)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ItemsEnums returns all the enums found in simple array items
|
|
||||||
// the map is cloned to avoid accidental changes
|
|
||||||
func (s *Spec) ItemsEnums() map[string][]interface{} {
|
|
||||||
return cloneEnumMap(s.enums.items)
|
|
||||||
}
|
|
||||||
|
|
||||||
// SchemaEnums returns all the enums found in schemas
|
|
||||||
// the map is cloned to avoid accidental changes
|
|
||||||
func (s *Spec) SchemaEnums() map[string][]interface{} {
|
|
||||||
return cloneEnumMap(s.enums.schemas)
|
|
||||||
}
|
|
||||||
|
|
||||||
// AllEnums returns all the enums found in the spec
|
|
||||||
// the map is cloned to avoid accidental changes
|
|
||||||
func (s *Spec) AllEnums() map[string][]interface{} {
|
|
||||||
return cloneEnumMap(s.enums.allEnums)
|
|
||||||
}
|
|
33
vendor/github.com/go-openapi/analysis/appveyor.yml
generated
vendored
33
vendor/github.com/go-openapi/analysis/appveyor.yml
generated
vendored
@ -1,33 +0,0 @@
|
|||||||
version: "0.1.{build}"
|
|
||||||
|
|
||||||
clone_folder: C:\go-openapi\analysis
|
|
||||||
shallow_clone: true # for startup speed
|
|
||||||
pull_requests:
|
|
||||||
do_not_increment_build_number: true
|
|
||||||
|
|
||||||
#skip_tags: true
|
|
||||||
#skip_branch_with_pr: true
|
|
||||||
|
|
||||||
# appveyor.yml
|
|
||||||
build: off
|
|
||||||
|
|
||||||
environment:
|
|
||||||
GOPATH: c:\gopath
|
|
||||||
|
|
||||||
stack: go 1.12
|
|
||||||
|
|
||||||
test_script:
|
|
||||||
- go test -v -timeout 20m ./...
|
|
||||||
#artifacts:
|
|
||||||
# - path: '%GOPATH%\bin\*.exe'
|
|
||||||
deploy: off
|
|
||||||
|
|
||||||
notifications:
|
|
||||||
- provider: Slack
|
|
||||||
incoming_webhook: https://hooks.slack.com/services/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
|
|
||||||
auth_token:
|
|
||||||
secure: Sf7kZf7ZGbnwWUMpffHwMu5A0cHkLK2MYY32LNTPj4+/3qC3Ghl7+9v4TSLOqOlCwdRNjOGblAq7s+GDJed6/xgRQl1JtCi1klzZNrYX4q01pgTPvvGcwbBkIYgeMaPeIRcK9OZnud7sRXdttozgTOpytps2U6Js32ip7uj5mHSg2ub0FwoSJwlS6dbezZ8+eDhoha0F/guY99BEwx8Bd+zROrT2TFGsSGOFGN6wFc7moCqTHO/YkWib13a2QNXqOxCCVBy/lt76Wp+JkeFppjHlzs/2lP3EAk13RIUAaesdEUHvIHrzCyNJEd3/+KO2DzsWOYfpktd+KBCvgaYOsoo7ubdT3IROeAegZdCgo/6xgCEsmFc9ZcqCfN5yNx2A+BZ2Vwmpws+bQ1E1+B5HDzzaiLcYfG4X2O210QVGVDLWsv1jqD+uPYeHY2WRfh5ZsIUFvaqgUEnwHwrK44/8REAhQavt1QAj5uJpsRd7CkRVPWRNK+yIky+wgbVUFEchRNmS55E7QWf+W4+4QZkQi7vUTMc9nbTUu2Es9NfvfudOpM2wZbn98fjpb/qq/nRv6Bk+ca+7XD5/IgNLMbWp2ouDdzbiHLCOfDUiHiDJhLfFZx9Bwo7ZwfzeOlbrQX66bx7xRKYmOe4DLrXhNcpbsMa8qbfxlZRCmYbubB/Y8h4=
|
|
||||||
channel: bots
|
|
||||||
on_build_success: false
|
|
||||||
on_build_failure: true
|
|
||||||
on_build_status_changed: true
|
|
47
vendor/github.com/go-openapi/analysis/debug.go
generated
vendored
47
vendor/github.com/go-openapi/analysis/debug.go
generated
vendored
@ -1,47 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package analysis
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"log"
|
|
||||||
"os"
|
|
||||||
"path/filepath"
|
|
||||||
"runtime"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
// Debug is true when the SWAGGER_DEBUG env var is not empty.
|
|
||||||
// It enables a more verbose logging of the spec analyzer.
|
|
||||||
Debug = os.Getenv("SWAGGER_DEBUG") != ""
|
|
||||||
// analysisLogger is a debug logger for this package
|
|
||||||
analysisLogger *log.Logger
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
debugOptions()
|
|
||||||
}
|
|
||||||
|
|
||||||
func debugOptions() {
|
|
||||||
analysisLogger = log.New(os.Stdout, "analysis:", log.LstdFlags)
|
|
||||||
}
|
|
||||||
|
|
||||||
func debugLog(msg string, args ...interface{}) {
|
|
||||||
// A private, trivial trace logger, based on go-openapi/spec/expander.go:debugLog()
|
|
||||||
if Debug {
|
|
||||||
_, file1, pos1, _ := runtime.Caller(1)
|
|
||||||
analysisLogger.Printf("%s:%d: %s", filepath.Base(file1), pos1, fmt.Sprintf(msg, args...))
|
|
||||||
}
|
|
||||||
}
|
|
43
vendor/github.com/go-openapi/analysis/doc.go
generated
vendored
43
vendor/github.com/go-openapi/analysis/doc.go
generated
vendored
@ -1,43 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
/*
|
|
||||||
Package analysis provides methods to work with a Swagger specification document from
|
|
||||||
package go-openapi/spec.
|
|
||||||
|
|
||||||
Analyzing a specification
|
|
||||||
|
|
||||||
An analysed specification object (type Spec) provides methods to work with swagger definition.
|
|
||||||
|
|
||||||
Flattening or expanding a specification
|
|
||||||
|
|
||||||
Flattening a specification bundles all remote $ref in the main spec document.
|
|
||||||
Depending on flattening options, additional preprocessing may take place:
|
|
||||||
- full flattening: replacing all inline complex constructs by a named entry in #/definitions
|
|
||||||
- expand: replace all $ref's in the document by their expanded content
|
|
||||||
|
|
||||||
Merging several specifications
|
|
||||||
|
|
||||||
Mixin several specifications merges all Swagger constructs, and warns about found conflicts.
|
|
||||||
|
|
||||||
Fixing a specification
|
|
||||||
|
|
||||||
Unmarshalling a specification with golang json unmarshalling may lead to
|
|
||||||
some unwanted result on present but empty fields.
|
|
||||||
|
|
||||||
Analyzing a Swagger schema
|
|
||||||
|
|
||||||
Swagger schemas are analyzed to determine their complexity and qualify their content.
|
|
||||||
*/
|
|
||||||
package analysis
|
|
76
vendor/github.com/go-openapi/analysis/fixer.go
generated
vendored
76
vendor/github.com/go-openapi/analysis/fixer.go
generated
vendored
@ -1,76 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package analysis
|
|
||||||
|
|
||||||
import "github.com/go-openapi/spec"
|
|
||||||
|
|
||||||
// FixEmptyResponseDescriptions replaces empty ("") response
|
|
||||||
// descriptions in the input with "(empty)" to ensure that the
|
|
||||||
// resulting Swagger is stays valid. The problem appears to arise
|
|
||||||
// from reading in valid specs that have a explicit response
|
|
||||||
// description of "" (valid, response.description is required), but
|
|
||||||
// due to zero values being omitted upon re-serializing (omitempty) we
|
|
||||||
// lose them unless we stick some chars in there.
|
|
||||||
func FixEmptyResponseDescriptions(s *spec.Swagger) {
|
|
||||||
if s.Paths != nil {
|
|
||||||
for _, v := range s.Paths.Paths {
|
|
||||||
if v.Get != nil {
|
|
||||||
FixEmptyDescs(v.Get.Responses)
|
|
||||||
}
|
|
||||||
if v.Put != nil {
|
|
||||||
FixEmptyDescs(v.Put.Responses)
|
|
||||||
}
|
|
||||||
if v.Post != nil {
|
|
||||||
FixEmptyDescs(v.Post.Responses)
|
|
||||||
}
|
|
||||||
if v.Delete != nil {
|
|
||||||
FixEmptyDescs(v.Delete.Responses)
|
|
||||||
}
|
|
||||||
if v.Options != nil {
|
|
||||||
FixEmptyDescs(v.Options.Responses)
|
|
||||||
}
|
|
||||||
if v.Head != nil {
|
|
||||||
FixEmptyDescs(v.Head.Responses)
|
|
||||||
}
|
|
||||||
if v.Patch != nil {
|
|
||||||
FixEmptyDescs(v.Patch.Responses)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for k, v := range s.Responses {
|
|
||||||
FixEmptyDesc(&v)
|
|
||||||
s.Responses[k] = v
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// FixEmptyDescs adds "(empty)" as the description for any Response in
|
|
||||||
// the given Responses object that doesn't already have one.
|
|
||||||
func FixEmptyDescs(rs *spec.Responses) {
|
|
||||||
FixEmptyDesc(rs.Default)
|
|
||||||
for k, v := range rs.StatusCodeResponses {
|
|
||||||
FixEmptyDesc(&v)
|
|
||||||
rs.StatusCodeResponses[k] = v
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// FixEmptyDesc adds "(empty)" as the description to the given
|
|
||||||
// Response object if it doesn't already have one and isn't a
|
|
||||||
// ref. No-op on nil input.
|
|
||||||
func FixEmptyDesc(rs *spec.Response) {
|
|
||||||
if rs == nil || rs.Description != "" || rs.Ref.Ref.GetURL() != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
rs.Description = "(empty)"
|
|
||||||
}
|
|
1732
vendor/github.com/go-openapi/analysis/flatten.go
generated
vendored
1732
vendor/github.com/go-openapi/analysis/flatten.go
generated
vendored
File diff suppressed because it is too large
Load Diff
13
vendor/github.com/go-openapi/analysis/go.mod
generated
vendored
13
vendor/github.com/go-openapi/analysis/go.mod
generated
vendored
@ -1,13 +0,0 @@
|
|||||||
module github.com/go-openapi/analysis
|
|
||||||
|
|
||||||
require (
|
|
||||||
github.com/go-openapi/jsonpointer v0.19.3
|
|
||||||
github.com/go-openapi/loads v0.19.0
|
|
||||||
github.com/go-openapi/spec v0.19.3
|
|
||||||
github.com/go-openapi/strfmt v0.19.3
|
|
||||||
github.com/go-openapi/swag v0.19.5
|
|
||||||
github.com/stretchr/testify v1.3.0
|
|
||||||
go.mongodb.org/mongo-driver v1.1.1 // indirect
|
|
||||||
)
|
|
||||||
|
|
||||||
go 1.13
|
|
97
vendor/github.com/go-openapi/analysis/go.sum
generated
vendored
97
vendor/github.com/go-openapi/analysis/go.sum
generated
vendored
@ -1,97 +0,0 @@
|
|||||||
github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
|
|
||||||
github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
|
|
||||||
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
|
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
|
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
|
||||||
github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
|
|
||||||
github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA=
|
|
||||||
github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
|
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
|
||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
|
||||||
github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
|
|
||||||
github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI=
|
|
||||||
github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
|
|
||||||
github.com/go-openapi/errors v0.19.2 h1:a2kIyV3w+OS3S97zxUndRVD46+FhGOUBDFY7nmu4CsY=
|
|
||||||
github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
|
|
||||||
github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
|
|
||||||
github.com/go-openapi/jsonpointer v0.19.2 h1:A9+F4Dc/MCNB5jibxf6rRvOvR/iFgQdyNx9eIhnGqq0=
|
|
||||||
github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
|
|
||||||
github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w=
|
|
||||||
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
|
|
||||||
github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
|
|
||||||
github.com/go-openapi/jsonreference v0.19.2 h1:o20suLFB4Ri0tuzpWtyHlh7E7HnkqTNLq6aR6WVNS1w=
|
|
||||||
github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
|
|
||||||
github.com/go-openapi/loads v0.19.0 h1:wCOBNscACI8L93tt5tvB2zOMkJ098XCw3fP0BY2ybDA=
|
|
||||||
github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
|
|
||||||
github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
|
|
||||||
github.com/go-openapi/spec v0.19.3 h1:0XRyw8kguri6Yw4SxhsQA/atC88yqrk0+G4YhI2wabc=
|
|
||||||
github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo=
|
|
||||||
github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
|
|
||||||
github.com/go-openapi/strfmt v0.19.2 h1:clPGfBnJohokno0e+d7hs6Yocrzjlgz6EsQSDncCRnE=
|
|
||||||
github.com/go-openapi/strfmt v0.19.2/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU=
|
|
||||||
github.com/go-openapi/strfmt v0.19.3 h1:eRfyY5SkaNJCAwmmMcADjY31ow9+N7MCLW7oRkbsINA=
|
|
||||||
github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU=
|
|
||||||
github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
|
|
||||||
github.com/go-openapi/swag v0.19.2 h1:jvO6bCMBEilGwMfHhrd61zIID4oIFdwb76V17SM88dE=
|
|
||||||
github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
|
|
||||||
github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY=
|
|
||||||
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
|
|
||||||
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
|
|
||||||
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
|
||||||
github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY=
|
|
||||||
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
|
|
||||||
github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
|
||||||
github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
|
|
||||||
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
|
||||||
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
|
||||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
|
||||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
|
||||||
github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
|
|
||||||
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
|
||||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
|
||||||
github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
|
||||||
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63 h1:nTT4s92Dgz2HlrB2NaMgvlfqHH39OgMhA7z3PK7PGD4=
|
|
||||||
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
|
||||||
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e h1:hB2xlXdHp/pmPZq0y3QnmWAArdw9PqbmotexnWx/FU8=
|
|
||||||
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
|
||||||
github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
|
|
||||||
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
|
|
||||||
github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
|
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
|
||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
|
||||||
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
|
|
||||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
|
||||||
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
|
|
||||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
|
||||||
github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
|
|
||||||
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
|
|
||||||
go.mongodb.org/mongo-driver v1.0.3 h1:GKoji1ld3tw2aC+GX1wbr/J2fX13yNacEYoJ8Nhr0yU=
|
|
||||||
go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
|
|
||||||
go.mongodb.org/mongo-driver v1.1.1 h1:Sq1fR+0c58RME5EoqKdjkiQAmPjmfHlZOoRI6fTUOcs=
|
|
||||||
go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
|
|
||||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
|
||||||
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
|
||||||
golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
|
||||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
|
||||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
|
||||||
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980 h1:dfGZHvZk057jK2MCeWus/TowKpJ8y4AmooUzdBSR9GU=
|
|
||||||
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
|
||||||
golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297 h1:k7pJ2yAPLPgbskkFdhRCsA77k2fySZ1zf2zCjvQCiIM=
|
|
||||||
golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
|
||||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
|
||||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
|
||||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
|
||||||
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
|
|
||||||
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
|
||||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
|
||||||
golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
|
||||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
|
|
||||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
|
||||||
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|
||||||
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
|
|
||||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|
29
vendor/github.com/go-openapi/analysis/internal/post_go18.go
generated
vendored
29
vendor/github.com/go-openapi/analysis/internal/post_go18.go
generated
vendored
@ -1,29 +0,0 @@
|
|||||||
// +build go1.8
|
|
||||||
|
|
||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package internal
|
|
||||||
|
|
||||||
import "net/url"
|
|
||||||
|
|
||||||
// PathUnescape provides url.PathUnescape(), with seamless
|
|
||||||
// go version support for pre-go1.8
|
|
||||||
//
|
|
||||||
// TODO: this function is currently defined in go-openapi/swag,
|
|
||||||
// but unexported. We might chose to export it, or simple phase
|
|
||||||
// out pre-go1.8 support.
|
|
||||||
func PathUnescape(path string) (string, error) {
|
|
||||||
return url.PathUnescape(path)
|
|
||||||
}
|
|
29
vendor/github.com/go-openapi/analysis/internal/pre_go18.go
generated
vendored
29
vendor/github.com/go-openapi/analysis/internal/pre_go18.go
generated
vendored
@ -1,29 +0,0 @@
|
|||||||
// +build !go1.8
|
|
||||||
|
|
||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package internal
|
|
||||||
|
|
||||||
import "net/url"
|
|
||||||
|
|
||||||
// PathUnescape provides url.PathUnescape(), with seamless
|
|
||||||
// go version support for pre-go1.8
|
|
||||||
//
|
|
||||||
// TODO: this function is currently defined in go-openapi/swag,
|
|
||||||
// but unexported. We might chose to export it, or simple phase
|
|
||||||
// out pre-go1.8 support.
|
|
||||||
func PathUnescape(path string) (string, error) {
|
|
||||||
return url.QueryUnescape(path)
|
|
||||||
}
|
|
425
vendor/github.com/go-openapi/analysis/mixin.go
generated
vendored
425
vendor/github.com/go-openapi/analysis/mixin.go
generated
vendored
@ -1,425 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package analysis
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"reflect"
|
|
||||||
|
|
||||||
"github.com/go-openapi/spec"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Mixin modifies the primary swagger spec by adding the paths and
|
|
||||||
// definitions from the mixin specs. Top level parameters and
|
|
||||||
// responses from the mixins are also carried over. Operation id
|
|
||||||
// collisions are avoided by appending "Mixin<N>" but only if
|
|
||||||
// needed.
|
|
||||||
//
|
|
||||||
// The following parts of primary are subject to merge, filling empty details
|
|
||||||
// - Info
|
|
||||||
// - BasePath
|
|
||||||
// - Host
|
|
||||||
// - ExternalDocs
|
|
||||||
//
|
|
||||||
// Consider calling FixEmptyResponseDescriptions() on the modified primary
|
|
||||||
// if you read them from storage and they are valid to start with.
|
|
||||||
//
|
|
||||||
// Entries in "paths", "definitions", "parameters" and "responses" are
|
|
||||||
// added to the primary in the order of the given mixins. If the entry
|
|
||||||
// already exists in primary it is skipped with a warning message.
|
|
||||||
//
|
|
||||||
// The count of skipped entries (from collisions) is returned so any
|
|
||||||
// deviation from the number expected can flag a warning in your build
|
|
||||||
// scripts. Carefully review the collisions before accepting them;
|
|
||||||
// consider renaming things if possible.
|
|
||||||
//
|
|
||||||
// No key normalization takes place (paths, type defs,
|
|
||||||
// etc). Ensure they are canonical if your downstream tools do
|
|
||||||
// key normalization of any form.
|
|
||||||
//
|
|
||||||
// Merging schemes (http, https), and consumers/producers do not account for
|
|
||||||
// collisions.
|
|
||||||
func Mixin(primary *spec.Swagger, mixins ...*spec.Swagger) []string {
|
|
||||||
skipped := make([]string, 0, len(mixins))
|
|
||||||
opIds := getOpIds(primary)
|
|
||||||
initPrimary(primary)
|
|
||||||
|
|
||||||
for i, m := range mixins {
|
|
||||||
skipped = append(skipped, mergeSwaggerProps(primary, m)...)
|
|
||||||
|
|
||||||
skipped = append(skipped, mergeConsumes(primary, m)...)
|
|
||||||
|
|
||||||
skipped = append(skipped, mergeProduces(primary, m)...)
|
|
||||||
|
|
||||||
skipped = append(skipped, mergeTags(primary, m)...)
|
|
||||||
|
|
||||||
skipped = append(skipped, mergeSchemes(primary, m)...)
|
|
||||||
|
|
||||||
skipped = append(skipped, mergeSecurityDefinitions(primary, m)...)
|
|
||||||
|
|
||||||
skipped = append(skipped, mergeSecurityRequirements(primary, m)...)
|
|
||||||
|
|
||||||
skipped = append(skipped, mergeDefinitions(primary, m)...)
|
|
||||||
|
|
||||||
// merging paths requires a map of operationIDs to work with
|
|
||||||
skipped = append(skipped, mergePaths(primary, m, opIds, i)...)
|
|
||||||
|
|
||||||
skipped = append(skipped, mergeParameters(primary, m)...)
|
|
||||||
|
|
||||||
skipped = append(skipped, mergeResponses(primary, m)...)
|
|
||||||
}
|
|
||||||
return skipped
|
|
||||||
}
|
|
||||||
|
|
||||||
// getOpIds extracts all the paths.<path>.operationIds from the given
|
|
||||||
// spec and returns them as the keys in a map with 'true' values.
|
|
||||||
func getOpIds(s *spec.Swagger) map[string]bool {
|
|
||||||
rv := make(map[string]bool)
|
|
||||||
if s.Paths == nil {
|
|
||||||
return rv
|
|
||||||
}
|
|
||||||
for _, v := range s.Paths.Paths {
|
|
||||||
piops := pathItemOps(v)
|
|
||||||
for _, op := range piops {
|
|
||||||
rv[op.ID] = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return rv
|
|
||||||
}
|
|
||||||
|
|
||||||
func pathItemOps(p spec.PathItem) []*spec.Operation {
|
|
||||||
var rv []*spec.Operation
|
|
||||||
rv = appendOp(rv, p.Get)
|
|
||||||
rv = appendOp(rv, p.Put)
|
|
||||||
rv = appendOp(rv, p.Post)
|
|
||||||
rv = appendOp(rv, p.Delete)
|
|
||||||
rv = appendOp(rv, p.Head)
|
|
||||||
rv = appendOp(rv, p.Patch)
|
|
||||||
return rv
|
|
||||||
}
|
|
||||||
|
|
||||||
func appendOp(ops []*spec.Operation, op *spec.Operation) []*spec.Operation {
|
|
||||||
if op == nil {
|
|
||||||
return ops
|
|
||||||
}
|
|
||||||
return append(ops, op)
|
|
||||||
}
|
|
||||||
|
|
||||||
func mergeSecurityDefinitions(primary *spec.Swagger, m *spec.Swagger) (skipped []string) {
|
|
||||||
for k, v := range m.SecurityDefinitions {
|
|
||||||
if _, exists := primary.SecurityDefinitions[k]; exists {
|
|
||||||
warn := fmt.Sprintf(
|
|
||||||
"SecurityDefinitions entry '%v' already exists in primary or higher priority mixin, skipping\n", k)
|
|
||||||
skipped = append(skipped, warn)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
primary.SecurityDefinitions[k] = v
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
func mergeSecurityRequirements(primary *spec.Swagger, m *spec.Swagger) (skipped []string) {
|
|
||||||
for _, v := range m.Security {
|
|
||||||
found := false
|
|
||||||
for _, vv := range primary.Security {
|
|
||||||
if reflect.DeepEqual(v, vv) {
|
|
||||||
found = true
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if found {
|
|
||||||
warn := fmt.Sprintf(
|
|
||||||
"Security requirement: '%v' already exists in primary or higher priority mixin, skipping\n", v)
|
|
||||||
skipped = append(skipped, warn)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
primary.Security = append(primary.Security, v)
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
func mergeDefinitions(primary *spec.Swagger, m *spec.Swagger) (skipped []string) {
|
|
||||||
for k, v := range m.Definitions {
|
|
||||||
// assume name collisions represent IDENTICAL type. careful.
|
|
||||||
if _, exists := primary.Definitions[k]; exists {
|
|
||||||
warn := fmt.Sprintf(
|
|
||||||
"definitions entry '%v' already exists in primary or higher priority mixin, skipping\n", k)
|
|
||||||
skipped = append(skipped, warn)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
primary.Definitions[k] = v
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
func mergePaths(primary *spec.Swagger, m *spec.Swagger, opIds map[string]bool, mixIndex int) (skipped []string) {
|
|
||||||
if m.Paths != nil {
|
|
||||||
for k, v := range m.Paths.Paths {
|
|
||||||
if _, exists := primary.Paths.Paths[k]; exists {
|
|
||||||
warn := fmt.Sprintf(
|
|
||||||
"paths entry '%v' already exists in primary or higher priority mixin, skipping\n", k)
|
|
||||||
skipped = append(skipped, warn)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
// Swagger requires that operationIds be
|
|
||||||
// unique within a spec. If we find a
|
|
||||||
// collision we append "Mixin0" to the
|
|
||||||
// operatoinId we are adding, where 0 is mixin
|
|
||||||
// index. We assume that operationIds with
|
|
||||||
// all the proivded specs are already unique.
|
|
||||||
piops := pathItemOps(v)
|
|
||||||
for _, piop := range piops {
|
|
||||||
if opIds[piop.ID] {
|
|
||||||
piop.ID = fmt.Sprintf("%v%v%v", piop.ID, "Mixin", mixIndex)
|
|
||||||
}
|
|
||||||
opIds[piop.ID] = true
|
|
||||||
}
|
|
||||||
primary.Paths.Paths[k] = v
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
func mergeParameters(primary *spec.Swagger, m *spec.Swagger) (skipped []string) {
|
|
||||||
for k, v := range m.Parameters {
|
|
||||||
// could try to rename on conflict but would
|
|
||||||
// have to fix $refs in the mixin. Complain
|
|
||||||
// for now
|
|
||||||
if _, exists := primary.Parameters[k]; exists {
|
|
||||||
warn := fmt.Sprintf(
|
|
||||||
"top level parameters entry '%v' already exists in primary or higher priority mixin, skipping\n", k)
|
|
||||||
skipped = append(skipped, warn)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
primary.Parameters[k] = v
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
func mergeResponses(primary *spec.Swagger, m *spec.Swagger) (skipped []string) {
|
|
||||||
for k, v := range m.Responses {
|
|
||||||
// could try to rename on conflict but would
|
|
||||||
// have to fix $refs in the mixin. Complain
|
|
||||||
// for now
|
|
||||||
if _, exists := primary.Responses[k]; exists {
|
|
||||||
warn := fmt.Sprintf(
|
|
||||||
"top level responses entry '%v' already exists in primary or higher priority mixin, skipping\n", k)
|
|
||||||
skipped = append(skipped, warn)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
primary.Responses[k] = v
|
|
||||||
}
|
|
||||||
return skipped
|
|
||||||
}
|
|
||||||
|
|
||||||
func mergeConsumes(primary *spec.Swagger, m *spec.Swagger) []string {
|
|
||||||
for _, v := range m.Consumes {
|
|
||||||
found := false
|
|
||||||
for _, vv := range primary.Consumes {
|
|
||||||
if v == vv {
|
|
||||||
found = true
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if found {
|
|
||||||
// no warning here: we just skip it
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
primary.Consumes = append(primary.Consumes, v)
|
|
||||||
}
|
|
||||||
return []string{}
|
|
||||||
}
|
|
||||||
|
|
||||||
func mergeProduces(primary *spec.Swagger, m *spec.Swagger) []string {
|
|
||||||
for _, v := range m.Produces {
|
|
||||||
found := false
|
|
||||||
for _, vv := range primary.Produces {
|
|
||||||
if v == vv {
|
|
||||||
found = true
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if found {
|
|
||||||
// no warning here: we just skip it
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
primary.Produces = append(primary.Produces, v)
|
|
||||||
}
|
|
||||||
return []string{}
|
|
||||||
}
|
|
||||||
|
|
||||||
func mergeTags(primary *spec.Swagger, m *spec.Swagger) (skipped []string) {
|
|
||||||
for _, v := range m.Tags {
|
|
||||||
found := false
|
|
||||||
for _, vv := range primary.Tags {
|
|
||||||
if v.Name == vv.Name {
|
|
||||||
found = true
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if found {
|
|
||||||
warn := fmt.Sprintf(
|
|
||||||
"top level tags entry with name '%v' already exists in primary or higher priority mixin, skipping\n", v.Name)
|
|
||||||
skipped = append(skipped, warn)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
primary.Tags = append(primary.Tags, v)
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
func mergeSchemes(primary *spec.Swagger, m *spec.Swagger) []string {
|
|
||||||
for _, v := range m.Schemes {
|
|
||||||
found := false
|
|
||||||
for _, vv := range primary.Schemes {
|
|
||||||
if v == vv {
|
|
||||||
found = true
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if found {
|
|
||||||
// no warning here: we just skip it
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
primary.Schemes = append(primary.Schemes, v)
|
|
||||||
}
|
|
||||||
return []string{}
|
|
||||||
}
|
|
||||||
|
|
||||||
func mergeSwaggerProps(primary *spec.Swagger, m *spec.Swagger) []string {
|
|
||||||
var skipped []string
|
|
||||||
primary.Extensions, skipped = mergeExtensions(primary.Extensions, m.Extensions)
|
|
||||||
|
|
||||||
// merging details in swagger top properties
|
|
||||||
if primary.Host == "" {
|
|
||||||
primary.Host = m.Host
|
|
||||||
}
|
|
||||||
if primary.BasePath == "" {
|
|
||||||
primary.BasePath = m.BasePath
|
|
||||||
}
|
|
||||||
if primary.Info == nil {
|
|
||||||
primary.Info = m.Info
|
|
||||||
} else if m.Info != nil {
|
|
||||||
var sk []string
|
|
||||||
primary.Info.Extensions, sk = mergeExtensions(primary.Info.Extensions, m.Info.Extensions)
|
|
||||||
skipped = append(skipped, sk...)
|
|
||||||
if primary.Info.Description == "" {
|
|
||||||
primary.Info.Description = m.Info.Description
|
|
||||||
}
|
|
||||||
if primary.Info.Title == "" {
|
|
||||||
primary.Info.Description = m.Info.Description
|
|
||||||
}
|
|
||||||
if primary.Info.TermsOfService == "" {
|
|
||||||
primary.Info.TermsOfService = m.Info.TermsOfService
|
|
||||||
}
|
|
||||||
if primary.Info.Version == "" {
|
|
||||||
primary.Info.Version = m.Info.Version
|
|
||||||
}
|
|
||||||
|
|
||||||
if primary.Info.Contact == nil {
|
|
||||||
primary.Info.Contact = m.Info.Contact
|
|
||||||
} else if m.Info.Contact != nil {
|
|
||||||
if primary.Info.Contact.Name == "" {
|
|
||||||
primary.Info.Contact.Name = m.Info.Contact.Name
|
|
||||||
}
|
|
||||||
if primary.Info.Contact.URL == "" {
|
|
||||||
primary.Info.Contact.URL = m.Info.Contact.URL
|
|
||||||
}
|
|
||||||
if primary.Info.Contact.Email == "" {
|
|
||||||
primary.Info.Contact.Email = m.Info.Contact.Email
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if primary.Info.License == nil {
|
|
||||||
primary.Info.License = m.Info.License
|
|
||||||
} else if m.Info.License != nil {
|
|
||||||
if primary.Info.License.Name == "" {
|
|
||||||
primary.Info.License.Name = m.Info.License.Name
|
|
||||||
}
|
|
||||||
if primary.Info.License.URL == "" {
|
|
||||||
primary.Info.License.URL = m.Info.License.URL
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
if primary.ExternalDocs == nil {
|
|
||||||
primary.ExternalDocs = m.ExternalDocs
|
|
||||||
} else if m.ExternalDocs != nil {
|
|
||||||
if primary.ExternalDocs.Description == "" {
|
|
||||||
primary.ExternalDocs.Description = m.ExternalDocs.Description
|
|
||||||
}
|
|
||||||
if primary.ExternalDocs.URL == "" {
|
|
||||||
primary.ExternalDocs.URL = m.ExternalDocs.URL
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return skipped
|
|
||||||
}
|
|
||||||
|
|
||||||
func mergeExtensions(primary spec.Extensions, m spec.Extensions) (result spec.Extensions, skipped []string) {
|
|
||||||
if primary == nil {
|
|
||||||
result = m
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if m == nil {
|
|
||||||
result = primary
|
|
||||||
return
|
|
||||||
}
|
|
||||||
result = primary
|
|
||||||
for k, v := range m {
|
|
||||||
if _, found := primary[k]; found {
|
|
||||||
skipped = append(skipped, k)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
primary[k] = v
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
func initPrimary(primary *spec.Swagger) {
|
|
||||||
if primary.SecurityDefinitions == nil {
|
|
||||||
primary.SecurityDefinitions = make(map[string]*spec.SecurityScheme)
|
|
||||||
}
|
|
||||||
if primary.Security == nil {
|
|
||||||
primary.Security = make([]map[string][]string, 0, 10)
|
|
||||||
}
|
|
||||||
if primary.Produces == nil {
|
|
||||||
primary.Produces = make([]string, 0, 10)
|
|
||||||
}
|
|
||||||
if primary.Consumes == nil {
|
|
||||||
primary.Consumes = make([]string, 0, 10)
|
|
||||||
}
|
|
||||||
if primary.Tags == nil {
|
|
||||||
primary.Tags = make([]spec.Tag, 0, 10)
|
|
||||||
}
|
|
||||||
if primary.Schemes == nil {
|
|
||||||
primary.Schemes = make([]string, 0, 10)
|
|
||||||
}
|
|
||||||
if primary.Paths == nil {
|
|
||||||
primary.Paths = &spec.Paths{Paths: make(map[string]spec.PathItem)}
|
|
||||||
}
|
|
||||||
if primary.Paths.Paths == nil {
|
|
||||||
primary.Paths.Paths = make(map[string]spec.PathItem)
|
|
||||||
}
|
|
||||||
if primary.Definitions == nil {
|
|
||||||
primary.Definitions = make(spec.Definitions)
|
|
||||||
}
|
|
||||||
if primary.Parameters == nil {
|
|
||||||
primary.Parameters = make(map[string]spec.Parameter)
|
|
||||||
}
|
|
||||||
if primary.Responses == nil {
|
|
||||||
primary.Responses = make(map[string]spec.Response)
|
|
||||||
}
|
|
||||||
}
|
|
234
vendor/github.com/go-openapi/analysis/schema.go
generated
vendored
234
vendor/github.com/go-openapi/analysis/schema.go
generated
vendored
@ -1,234 +0,0 @@
|
|||||||
package analysis
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
|
|
||||||
"github.com/go-openapi/spec"
|
|
||||||
"github.com/go-openapi/strfmt"
|
|
||||||
)
|
|
||||||
|
|
||||||
// SchemaOpts configures the schema analyzer
|
|
||||||
type SchemaOpts struct {
|
|
||||||
Schema *spec.Schema
|
|
||||||
Root interface{}
|
|
||||||
BasePath string
|
|
||||||
_ struct{}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Schema analysis, will classify the schema according to known
|
|
||||||
// patterns.
|
|
||||||
func Schema(opts SchemaOpts) (*AnalyzedSchema, error) {
|
|
||||||
if opts.Schema == nil {
|
|
||||||
return nil, fmt.Errorf("no schema to analyze")
|
|
||||||
}
|
|
||||||
|
|
||||||
a := &AnalyzedSchema{
|
|
||||||
schema: opts.Schema,
|
|
||||||
root: opts.Root,
|
|
||||||
basePath: opts.BasePath,
|
|
||||||
}
|
|
||||||
|
|
||||||
a.initializeFlags()
|
|
||||||
a.inferKnownType()
|
|
||||||
a.inferEnum()
|
|
||||||
a.inferBaseType()
|
|
||||||
|
|
||||||
if err := a.inferMap(); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if err := a.inferArray(); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
a.inferTuple()
|
|
||||||
|
|
||||||
if err := a.inferFromRef(); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
a.inferSimpleSchema()
|
|
||||||
return a, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// AnalyzedSchema indicates what the schema represents
|
|
||||||
type AnalyzedSchema struct {
|
|
||||||
schema *spec.Schema
|
|
||||||
root interface{}
|
|
||||||
basePath string
|
|
||||||
|
|
||||||
hasProps bool
|
|
||||||
hasAllOf bool
|
|
||||||
hasItems bool
|
|
||||||
hasAdditionalProps bool
|
|
||||||
hasAdditionalItems bool
|
|
||||||
hasRef bool
|
|
||||||
|
|
||||||
IsKnownType bool
|
|
||||||
IsSimpleSchema bool
|
|
||||||
IsArray bool
|
|
||||||
IsSimpleArray bool
|
|
||||||
IsMap bool
|
|
||||||
IsSimpleMap bool
|
|
||||||
IsExtendedObject bool
|
|
||||||
IsTuple bool
|
|
||||||
IsTupleWithExtra bool
|
|
||||||
IsBaseType bool
|
|
||||||
IsEnum bool
|
|
||||||
}
|
|
||||||
|
|
||||||
// Inherits copies value fields from other onto this schema
|
|
||||||
func (a *AnalyzedSchema) inherits(other *AnalyzedSchema) {
|
|
||||||
if other == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
a.hasProps = other.hasProps
|
|
||||||
a.hasAllOf = other.hasAllOf
|
|
||||||
a.hasItems = other.hasItems
|
|
||||||
a.hasAdditionalItems = other.hasAdditionalItems
|
|
||||||
a.hasAdditionalProps = other.hasAdditionalProps
|
|
||||||
a.hasRef = other.hasRef
|
|
||||||
|
|
||||||
a.IsKnownType = other.IsKnownType
|
|
||||||
a.IsSimpleSchema = other.IsSimpleSchema
|
|
||||||
a.IsArray = other.IsArray
|
|
||||||
a.IsSimpleArray = other.IsSimpleArray
|
|
||||||
a.IsMap = other.IsMap
|
|
||||||
a.IsSimpleMap = other.IsSimpleMap
|
|
||||||
a.IsExtendedObject = other.IsExtendedObject
|
|
||||||
a.IsTuple = other.IsTuple
|
|
||||||
a.IsTupleWithExtra = other.IsTupleWithExtra
|
|
||||||
a.IsBaseType = other.IsBaseType
|
|
||||||
a.IsEnum = other.IsEnum
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a *AnalyzedSchema) inferFromRef() error {
|
|
||||||
if a.hasRef {
|
|
||||||
sch := new(spec.Schema)
|
|
||||||
sch.Ref = a.schema.Ref
|
|
||||||
err := spec.ExpandSchema(sch, a.root, nil)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
rsch, err := Schema(SchemaOpts{
|
|
||||||
Schema: sch,
|
|
||||||
Root: a.root,
|
|
||||||
BasePath: a.basePath,
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
// NOTE(fredbi): currently the only cause for errors is
|
|
||||||
// unresolved ref. Since spec.ExpandSchema() expands the
|
|
||||||
// schema recursively, there is no chance to get there,
|
|
||||||
// until we add more causes for error in this schema analysis.
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
a.inherits(rsch)
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a *AnalyzedSchema) inferSimpleSchema() {
|
|
||||||
a.IsSimpleSchema = a.IsKnownType || a.IsSimpleArray || a.IsSimpleMap
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a *AnalyzedSchema) inferKnownType() {
|
|
||||||
tpe := a.schema.Type
|
|
||||||
format := a.schema.Format
|
|
||||||
a.IsKnownType = tpe.Contains("boolean") ||
|
|
||||||
tpe.Contains("integer") ||
|
|
||||||
tpe.Contains("number") ||
|
|
||||||
tpe.Contains("string") ||
|
|
||||||
(format != "" && strfmt.Default.ContainsName(format)) ||
|
|
||||||
(a.isObjectType() && !a.hasProps && !a.hasAllOf && !a.hasAdditionalProps && !a.hasAdditionalItems)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a *AnalyzedSchema) inferMap() error {
|
|
||||||
if a.isObjectType() {
|
|
||||||
hasExtra := a.hasProps || a.hasAllOf
|
|
||||||
a.IsMap = a.hasAdditionalProps && !hasExtra
|
|
||||||
a.IsExtendedObject = a.hasAdditionalProps && hasExtra
|
|
||||||
if a.IsMap {
|
|
||||||
if a.schema.AdditionalProperties.Schema != nil {
|
|
||||||
msch, err := Schema(SchemaOpts{
|
|
||||||
Schema: a.schema.AdditionalProperties.Schema,
|
|
||||||
Root: a.root,
|
|
||||||
BasePath: a.basePath,
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
a.IsSimpleMap = msch.IsSimpleSchema
|
|
||||||
} else if a.schema.AdditionalProperties.Allows {
|
|
||||||
a.IsSimpleMap = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a *AnalyzedSchema) inferArray() error {
|
|
||||||
// an array has Items defined as an object schema, otherwise we qualify this JSON array as a tuple
|
|
||||||
// (yes, even if the Items array contains only one element).
|
|
||||||
// arrays in JSON schema may be unrestricted (i.e no Items specified).
|
|
||||||
// Note that arrays in Swagger MUST have Items. Nonetheless, we analyze unrestricted arrays.
|
|
||||||
//
|
|
||||||
// NOTE: the spec package misses the distinction between:
|
|
||||||
// items: [] and items: {}, so we consider both arrays here.
|
|
||||||
a.IsArray = a.isArrayType() && (a.schema.Items == nil || a.schema.Items.Schemas == nil)
|
|
||||||
if a.IsArray && a.hasItems {
|
|
||||||
if a.schema.Items.Schema != nil {
|
|
||||||
itsch, err := Schema(SchemaOpts{
|
|
||||||
Schema: a.schema.Items.Schema,
|
|
||||||
Root: a.root,
|
|
||||||
BasePath: a.basePath,
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
a.IsSimpleArray = itsch.IsSimpleSchema
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if a.IsArray && !a.hasItems {
|
|
||||||
a.IsSimpleArray = true
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a *AnalyzedSchema) inferTuple() {
|
|
||||||
tuple := a.hasItems && a.schema.Items.Schemas != nil
|
|
||||||
a.IsTuple = tuple && !a.hasAdditionalItems
|
|
||||||
a.IsTupleWithExtra = tuple && a.hasAdditionalItems
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a *AnalyzedSchema) inferBaseType() {
|
|
||||||
if a.isObjectType() {
|
|
||||||
a.IsBaseType = a.schema.Discriminator != ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a *AnalyzedSchema) inferEnum() {
|
|
||||||
a.IsEnum = len(a.schema.Enum) > 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a *AnalyzedSchema) initializeFlags() {
|
|
||||||
a.hasProps = len(a.schema.Properties) > 0
|
|
||||||
a.hasAllOf = len(a.schema.AllOf) > 0
|
|
||||||
a.hasRef = a.schema.Ref.String() != ""
|
|
||||||
|
|
||||||
a.hasItems = a.schema.Items != nil &&
|
|
||||||
(a.schema.Items.Schema != nil || len(a.schema.Items.Schemas) > 0)
|
|
||||||
|
|
||||||
a.hasAdditionalProps = a.schema.AdditionalProperties != nil &&
|
|
||||||
(a.schema.AdditionalProperties != nil || a.schema.AdditionalProperties.Allows)
|
|
||||||
|
|
||||||
a.hasAdditionalItems = a.schema.AdditionalItems != nil &&
|
|
||||||
(a.schema.AdditionalItems.Schema != nil || a.schema.AdditionalItems.Allows)
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a *AnalyzedSchema) isObjectType() bool {
|
|
||||||
return !a.hasRef && (a.schema.Type == nil || a.schema.Type.Contains("") || a.schema.Type.Contains("object"))
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a *AnalyzedSchema) isArrayType() bool {
|
|
||||||
return !a.hasRef && (a.schema.Type != nil && a.schema.Type.Contains("array"))
|
|
||||||
}
|
|
2
vendor/github.com/go-openapi/errors/.gitignore
generated
vendored
2
vendor/github.com/go-openapi/errors/.gitignore
generated
vendored
@ -1,2 +0,0 @@
|
|||||||
secrets.yml
|
|
||||||
coverage.out
|
|
20
vendor/github.com/go-openapi/errors/.golangci.yml
generated
vendored
20
vendor/github.com/go-openapi/errors/.golangci.yml
generated
vendored
@ -1,20 +0,0 @@
|
|||||||
linters-settings:
|
|
||||||
govet:
|
|
||||||
check-shadowing: true
|
|
||||||
golint:
|
|
||||||
min-confidence: 0
|
|
||||||
gocyclo:
|
|
||||||
min-complexity: 30
|
|
||||||
maligned:
|
|
||||||
suggest-new: true
|
|
||||||
dupl:
|
|
||||||
threshold: 100
|
|
||||||
goconst:
|
|
||||||
min-len: 2
|
|
||||||
min-occurrences: 4
|
|
||||||
linters:
|
|
||||||
enable-all: true
|
|
||||||
disable:
|
|
||||||
- maligned
|
|
||||||
- lll
|
|
||||||
- gochecknoglobals
|
|
15
vendor/github.com/go-openapi/errors/.travis.yml
generated
vendored
15
vendor/github.com/go-openapi/errors/.travis.yml
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
after_success:
|
|
||||||
- bash <(curl -s https://codecov.io/bash)
|
|
||||||
go:
|
|
||||||
- 1.11.x
|
|
||||||
- 1.12.x
|
|
||||||
install:
|
|
||||||
- GO111MODULE=off go get -u gotest.tools/gotestsum
|
|
||||||
env:
|
|
||||||
- GO111MODULE=on
|
|
||||||
language: go
|
|
||||||
notifications:
|
|
||||||
slack:
|
|
||||||
secure: gZGp9NaHxi7zawlXJXKY92BGeDR1x0tbIcTyU5nMKLq0fhIaiEBJEeALwZ4VgqsSv3DytSSF5mLH8fevAM3ixE6hxjKQ+lQuf7V/w3btCN1CSWgoua5LOh1kTnqZQtJuRvO4pzoJcT3bJWBsVZ07VGNVzzJEy/zAKCHFqBUCXShw7QemlLBcYWFNqveTlvDIfCzvouoLnPoXwxEpkjxe9uz/ZKZgAnup/fXjC8RFctmgCnkCyvJTk0Y/fZCsufixJrJhshBWTnlrFCzRmgNkz2d+i1Ls3+MJ5EJJ2Tx/A5S63dL49J1f9Kr0AKHADmulSy8JNzIckKwbyFMYUecrsW+Lsu9DhnVMy1jj5pKsJDLRi2iIU3fXTMWbcyQbXjbbnBO2mPdP3Tzme75y4D9fc8hUPeyqVv2BU26NEbQ7EF2pKJ93OXvci7HlwRBgdJa8j6mP2LEDClcPQW00g7N/OZe0cTOMa8L5AwiBlbArwqt9wv6YLJoTG0wpDhzWsFvbCg5bJxe28Yn3fIDD0Lk1I7iSnBbp/5gzF19jmxqvcT8tHRkDL4xfjbENFTZjA5uB4Z4pj4WSyWQILLV/Jwhe3fi9uQwdviFHfj5pnVrmNUiGSOQL672K5wl2c3E9mGwejvsu2dfEz28n7Y/FUnOpY3/cBS0n27JJaerS0zMKNLE=
|
|
||||||
script:
|
|
||||||
- gotestsum -f short-verbose -- -race -coverprofile=coverage.txt -covermode=atomic ./...
|
|
74
vendor/github.com/go-openapi/errors/CODE_OF_CONDUCT.md
generated
vendored
74
vendor/github.com/go-openapi/errors/CODE_OF_CONDUCT.md
generated
vendored
@ -1,74 +0,0 @@
|
|||||||
# Contributor Covenant Code of Conduct
|
|
||||||
|
|
||||||
## Our Pledge
|
|
||||||
|
|
||||||
In the interest of fostering an open and welcoming environment, we as
|
|
||||||
contributors and maintainers pledge to making participation in our project and
|
|
||||||
our community a harassment-free experience for everyone, regardless of age, body
|
|
||||||
size, disability, ethnicity, gender identity and expression, level of experience,
|
|
||||||
nationality, personal appearance, race, religion, or sexual identity and
|
|
||||||
orientation.
|
|
||||||
|
|
||||||
## Our Standards
|
|
||||||
|
|
||||||
Examples of behavior that contributes to creating a positive environment
|
|
||||||
include:
|
|
||||||
|
|
||||||
* Using welcoming and inclusive language
|
|
||||||
* Being respectful of differing viewpoints and experiences
|
|
||||||
* Gracefully accepting constructive criticism
|
|
||||||
* Focusing on what is best for the community
|
|
||||||
* Showing empathy towards other community members
|
|
||||||
|
|
||||||
Examples of unacceptable behavior by participants include:
|
|
||||||
|
|
||||||
* The use of sexualized language or imagery and unwelcome sexual attention or
|
|
||||||
advances
|
|
||||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
|
||||||
* Public or private harassment
|
|
||||||
* Publishing others' private information, such as a physical or electronic
|
|
||||||
address, without explicit permission
|
|
||||||
* Other conduct which could reasonably be considered inappropriate in a
|
|
||||||
professional setting
|
|
||||||
|
|
||||||
## Our Responsibilities
|
|
||||||
|
|
||||||
Project maintainers are responsible for clarifying the standards of acceptable
|
|
||||||
behavior and are expected to take appropriate and fair corrective action in
|
|
||||||
response to any instances of unacceptable behavior.
|
|
||||||
|
|
||||||
Project maintainers have the right and responsibility to remove, edit, or
|
|
||||||
reject comments, commits, code, wiki edits, issues, and other contributions
|
|
||||||
that are not aligned to this Code of Conduct, or to ban temporarily or
|
|
||||||
permanently any contributor for other behaviors that they deem inappropriate,
|
|
||||||
threatening, offensive, or harmful.
|
|
||||||
|
|
||||||
## Scope
|
|
||||||
|
|
||||||
This Code of Conduct applies both within project spaces and in public spaces
|
|
||||||
when an individual is representing the project or its community. Examples of
|
|
||||||
representing a project or community include using an official project e-mail
|
|
||||||
address, posting via an official social media account, or acting as an appointed
|
|
||||||
representative at an online or offline event. Representation of a project may be
|
|
||||||
further defined and clarified by project maintainers.
|
|
||||||
|
|
||||||
## Enforcement
|
|
||||||
|
|
||||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
|
||||||
reported by contacting the project team at ivan+abuse@flanders.co.nz. All
|
|
||||||
complaints will be reviewed and investigated and will result in a response that
|
|
||||||
is deemed necessary and appropriate to the circumstances. The project team is
|
|
||||||
obligated to maintain confidentiality with regard to the reporter of an incident.
|
|
||||||
Further details of specific enforcement policies may be posted separately.
|
|
||||||
|
|
||||||
Project maintainers who do not follow or enforce the Code of Conduct in good
|
|
||||||
faith may face temporary or permanent repercussions as determined by other
|
|
||||||
members of the project's leadership.
|
|
||||||
|
|
||||||
## Attribution
|
|
||||||
|
|
||||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
|
||||||
available at [http://contributor-covenant.org/version/1/4][version]
|
|
||||||
|
|
||||||
[homepage]: http://contributor-covenant.org
|
|
||||||
[version]: http://contributor-covenant.org/version/1/4/
|
|
202
vendor/github.com/go-openapi/errors/LICENSE
generated
vendored
202
vendor/github.com/go-openapi/errors/LICENSE
generated
vendored
@ -1,202 +0,0 @@
|
|||||||
|
|
||||||
Apache License
|
|
||||||
Version 2.0, January 2004
|
|
||||||
http://www.apache.org/licenses/
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
||||||
|
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by
|
|
||||||
the copyright owner that is granting the License.
|
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all
|
|
||||||
other entities that control, are controlled by, or are under common
|
|
||||||
control with that entity. For the purposes of this definition,
|
|
||||||
"control" means (i) the power, direct or indirect, to cause the
|
|
||||||
direction or management of such entity, whether by contract or
|
|
||||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity
|
|
||||||
exercising permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications,
|
|
||||||
including but not limited to software source code, documentation
|
|
||||||
source, and configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical
|
|
||||||
transformation or translation of a Source form, including but
|
|
||||||
not limited to compiled object code, generated documentation,
|
|
||||||
and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or
|
|
||||||
Object form, made available under the License, as indicated by a
|
|
||||||
copyright notice that is included in or attached to the work
|
|
||||||
(an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object
|
|
||||||
form, that is based on (or derived from) the Work and for which the
|
|
||||||
editorial revisions, annotations, elaborations, or other modifications
|
|
||||||
represent, as a whole, an original work of authorship. For the purposes
|
|
||||||
of this License, Derivative Works shall not include works that remain
|
|
||||||
separable from, or merely link (or bind by name) to the interfaces of,
|
|
||||||
the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including
|
|
||||||
the original version of the Work and any modifications or additions
|
|
||||||
to that Work or Derivative Works thereof, that is intentionally
|
|
||||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
||||||
or by an individual or Legal Entity authorized to submit on behalf of
|
|
||||||
the copyright owner. For the purposes of this definition, "submitted"
|
|
||||||
means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems,
|
|
||||||
and issue tracking systems that are managed by, or on behalf of, the
|
|
||||||
Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise
|
|
||||||
designated in writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
||||||
on behalf of whom a Contribution has been received by Licensor and
|
|
||||||
subsequently incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the
|
|
||||||
Work and such Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
(except as stated in this section) patent license to make, have made,
|
|
||||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
||||||
where such license applies only to those patent claims licensable
|
|
||||||
by such Contributor that are necessarily infringed by their
|
|
||||||
Contribution(s) alone or by combination of their Contribution(s)
|
|
||||||
with the Work to which such Contribution(s) was submitted. If You
|
|
||||||
institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
||||||
or a Contribution incorporated within the Work constitutes direct
|
|
||||||
or contributory patent infringement, then any patent licenses
|
|
||||||
granted to You under this License for that Work shall terminate
|
|
||||||
as of the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the
|
|
||||||
Work or Derivative Works thereof in any medium, with or without
|
|
||||||
modifications, and in Source or Object form, provided that You
|
|
||||||
meet the following conditions:
|
|
||||||
|
|
||||||
(a) You must give any other recipients of the Work or
|
|
||||||
Derivative Works a copy of this License; and
|
|
||||||
|
|
||||||
(b) You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and
|
|
||||||
|
|
||||||
(c) You must retain, in the Source form of any Derivative Works
|
|
||||||
that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work,
|
|
||||||
excluding those notices that do not pertain to any part of
|
|
||||||
the Derivative Works; and
|
|
||||||
|
|
||||||
(d) If the Work includes a "NOTICE" text file as part of its
|
|
||||||
distribution, then any Derivative Works that You distribute must
|
|
||||||
include a readable copy of the attribution notices contained
|
|
||||||
within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one
|
|
||||||
of the following places: within a NOTICE text file distributed
|
|
||||||
as part of the Derivative Works; within the Source form or
|
|
||||||
documentation, if provided along with the Derivative Works; or,
|
|
||||||
within a display generated by the Derivative Works, if and
|
|
||||||
wherever such third-party notices normally appear. The contents
|
|
||||||
of the NOTICE file are for informational purposes only and
|
|
||||||
do not modify the License. You may add Your own attribution
|
|
||||||
notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided
|
|
||||||
that such additional attribution notices cannot be construed
|
|
||||||
as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and
|
|
||||||
may provide additional or different license terms and conditions
|
|
||||||
for use, reproduction, or distribution of Your modifications, or
|
|
||||||
for any such Derivative Works as a whole, provided Your use,
|
|
||||||
reproduction, and distribution of the Work otherwise complies with
|
|
||||||
the conditions stated in this License.
|
|
||||||
|
|
||||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
||||||
any Contribution intentionally submitted for inclusion in the Work
|
|
||||||
by You to the Licensor shall be under the terms and conditions of
|
|
||||||
this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify
|
|
||||||
the terms of any separate license agreement you may have executed
|
|
||||||
with Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor,
|
|
||||||
except as required for reasonable and customary use in describing the
|
|
||||||
origin of the Work and reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
||||||
agreed to in writing, Licensor provides the Work (and each
|
|
||||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
||||||
implied, including, without limitation, any warranties or conditions
|
|
||||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any
|
|
||||||
risks associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory,
|
|
||||||
whether in tort (including negligence), contract, or otherwise,
|
|
||||||
unless required by applicable law (such as deliberate and grossly
|
|
||||||
negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special,
|
|
||||||
incidental, or consequential damages of any character arising as a
|
|
||||||
result of this License or out of the use or inability to use the
|
|
||||||
Work (including but not limited to damages for loss of goodwill,
|
|
||||||
work stoppage, computer failure or malfunction, or any and all
|
|
||||||
other commercial damages or losses), even if such Contributor
|
|
||||||
has been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing
|
|
||||||
the Work or Derivative Works thereof, You may choose to offer,
|
|
||||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
||||||
or other liability obligations and/or rights consistent with this
|
|
||||||
License. However, in accepting such obligations, You may act only
|
|
||||||
on Your own behalf and on Your sole responsibility, not on behalf
|
|
||||||
of any other Contributor, and only if You agree to indemnify,
|
|
||||||
defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason
|
|
||||||
of your accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
APPENDIX: How to apply the Apache License to your work.
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following
|
|
||||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
||||||
replaced with your own identifying information. (Don't include
|
|
||||||
the brackets!) The text should be enclosed in the appropriate
|
|
||||||
comment syntax for the file format. We also recommend that a
|
|
||||||
file or class name and description of purpose be included on the
|
|
||||||
same "printed page" as the copyright notice for easier
|
|
||||||
identification within third-party archives.
|
|
||||||
|
|
||||||
Copyright [yyyy] [name of copyright owner]
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
8
vendor/github.com/go-openapi/errors/README.md
generated
vendored
8
vendor/github.com/go-openapi/errors/README.md
generated
vendored
@ -1,8 +0,0 @@
|
|||||||
# OpenAPI errors [](https://travis-ci.org/go-openapi/errors) [](https://codecov.io/gh/go-openapi/errors) [](https://slackin.goswagger.io)
|
|
||||||
|
|
||||||
[](https://raw.githubusercontent.com/go-openapi/errors/master/LICENSE)
|
|
||||||
[](http://godoc.org/github.com/go-openapi/errors)
|
|
||||||
[](https://golangci.com)
|
|
||||||
[](https://goreportcard.com/report/github.com/go-openapi/errors)
|
|
||||||
|
|
||||||
Shared errors and error interface used throughout the various libraries found in the go-openapi toolkit.
|
|
164
vendor/github.com/go-openapi/errors/api.go
generated
vendored
164
vendor/github.com/go-openapi/errors/api.go
generated
vendored
@ -1,164 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package errors
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
|
||||||
"net/http"
|
|
||||||
"reflect"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
// DefaultHTTPCode is used when the error Code cannot be used as an HTTP code.
|
|
||||||
var DefaultHTTPCode = http.StatusUnprocessableEntity
|
|
||||||
|
|
||||||
// Error represents a error interface all swagger framework errors implement
|
|
||||||
type Error interface {
|
|
||||||
error
|
|
||||||
Code() int32
|
|
||||||
}
|
|
||||||
|
|
||||||
type apiError struct {
|
|
||||||
code int32
|
|
||||||
message string
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a *apiError) Error() string {
|
|
||||||
return a.message
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a *apiError) Code() int32 {
|
|
||||||
return a.code
|
|
||||||
}
|
|
||||||
|
|
||||||
// New creates a new API error with a code and a message
|
|
||||||
func New(code int32, message string, args ...interface{}) Error {
|
|
||||||
if len(args) > 0 {
|
|
||||||
return &apiError{code, fmt.Sprintf(message, args...)}
|
|
||||||
}
|
|
||||||
return &apiError{code, message}
|
|
||||||
}
|
|
||||||
|
|
||||||
// NotFound creates a new not found error
|
|
||||||
func NotFound(message string, args ...interface{}) Error {
|
|
||||||
if message == "" {
|
|
||||||
message = "Not found"
|
|
||||||
}
|
|
||||||
return New(http.StatusNotFound, fmt.Sprintf(message, args...))
|
|
||||||
}
|
|
||||||
|
|
||||||
// NotImplemented creates a new not implemented error
|
|
||||||
func NotImplemented(message string) Error {
|
|
||||||
return New(http.StatusNotImplemented, message)
|
|
||||||
}
|
|
||||||
|
|
||||||
// MethodNotAllowedError represents an error for when the path matches but the method doesn't
|
|
||||||
type MethodNotAllowedError struct {
|
|
||||||
code int32
|
|
||||||
Allowed []string
|
|
||||||
message string
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *MethodNotAllowedError) Error() string {
|
|
||||||
return m.message
|
|
||||||
}
|
|
||||||
|
|
||||||
// Code the error code
|
|
||||||
func (m *MethodNotAllowedError) Code() int32 {
|
|
||||||
return m.code
|
|
||||||
}
|
|
||||||
|
|
||||||
func errorAsJSON(err Error) []byte {
|
|
||||||
b, _ := json.Marshal(struct {
|
|
||||||
Code int32 `json:"code"`
|
|
||||||
Message string `json:"message"`
|
|
||||||
}{err.Code(), err.Error()})
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
func flattenComposite(errs *CompositeError) *CompositeError {
|
|
||||||
var res []error
|
|
||||||
for _, er := range errs.Errors {
|
|
||||||
switch e := er.(type) {
|
|
||||||
case *CompositeError:
|
|
||||||
if len(e.Errors) > 0 {
|
|
||||||
flat := flattenComposite(e)
|
|
||||||
if len(flat.Errors) > 0 {
|
|
||||||
res = append(res, flat.Errors...)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
if e != nil {
|
|
||||||
res = append(res, e)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return CompositeValidationError(res...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// MethodNotAllowed creates a new method not allowed error
|
|
||||||
func MethodNotAllowed(requested string, allow []string) Error {
|
|
||||||
msg := fmt.Sprintf("method %s is not allowed, but [%s] are", requested, strings.Join(allow, ","))
|
|
||||||
return &MethodNotAllowedError{code: http.StatusMethodNotAllowed, Allowed: allow, message: msg}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ServeError the error handler interface implementation
|
|
||||||
func ServeError(rw http.ResponseWriter, r *http.Request, err error) {
|
|
||||||
rw.Header().Set("Content-Type", "application/json")
|
|
||||||
switch e := err.(type) {
|
|
||||||
case *CompositeError:
|
|
||||||
er := flattenComposite(e)
|
|
||||||
// strips composite errors to first element only
|
|
||||||
if len(er.Errors) > 0 {
|
|
||||||
ServeError(rw, r, er.Errors[0])
|
|
||||||
} else {
|
|
||||||
// guard against empty CompositeError (invalid construct)
|
|
||||||
ServeError(rw, r, nil)
|
|
||||||
}
|
|
||||||
case *MethodNotAllowedError:
|
|
||||||
rw.Header().Add("Allow", strings.Join(err.(*MethodNotAllowedError).Allowed, ","))
|
|
||||||
rw.WriteHeader(asHTTPCode(int(e.Code())))
|
|
||||||
if r == nil || r.Method != http.MethodHead {
|
|
||||||
_, _ = rw.Write(errorAsJSON(e))
|
|
||||||
}
|
|
||||||
case Error:
|
|
||||||
value := reflect.ValueOf(e)
|
|
||||||
if value.Kind() == reflect.Ptr && value.IsNil() {
|
|
||||||
rw.WriteHeader(http.StatusInternalServerError)
|
|
||||||
_, _ = rw.Write(errorAsJSON(New(http.StatusInternalServerError, "Unknown error")))
|
|
||||||
return
|
|
||||||
}
|
|
||||||
rw.WriteHeader(asHTTPCode(int(e.Code())))
|
|
||||||
if r == nil || r.Method != http.MethodHead {
|
|
||||||
_, _ = rw.Write(errorAsJSON(e))
|
|
||||||
}
|
|
||||||
case nil:
|
|
||||||
rw.WriteHeader(http.StatusInternalServerError)
|
|
||||||
_, _ = rw.Write(errorAsJSON(New(http.StatusInternalServerError, "Unknown error")))
|
|
||||||
default:
|
|
||||||
rw.WriteHeader(http.StatusInternalServerError)
|
|
||||||
if r == nil || r.Method != http.MethodHead {
|
|
||||||
_, _ = rw.Write(errorAsJSON(New(http.StatusInternalServerError, err.Error())))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func asHTTPCode(input int) int {
|
|
||||||
if input >= 600 {
|
|
||||||
return DefaultHTTPCode
|
|
||||||
}
|
|
||||||
return input
|
|
||||||
}
|
|
22
vendor/github.com/go-openapi/errors/auth.go
generated
vendored
22
vendor/github.com/go-openapi/errors/auth.go
generated
vendored
@ -1,22 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package errors
|
|
||||||
|
|
||||||
import "net/http"
|
|
||||||
|
|
||||||
// Unauthenticated returns an unauthenticated error
|
|
||||||
func Unauthenticated(scheme string) Error {
|
|
||||||
return New(http.StatusUnauthorized, "unauthenticated for %s", scheme)
|
|
||||||
}
|
|
28
vendor/github.com/go-openapi/errors/doc.go
generated
vendored
28
vendor/github.com/go-openapi/errors/doc.go
generated
vendored
@ -1,28 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
/*
|
|
||||||
|
|
||||||
Package errors provides an Error interface and several concrete types
|
|
||||||
implementing this interface to manage API errors and JSON-schema validation
|
|
||||||
errors.
|
|
||||||
|
|
||||||
A middleware handler ServeError() is provided to serve the errors types
|
|
||||||
it defines.
|
|
||||||
|
|
||||||
It is used throughout the various go-openapi toolkit libraries
|
|
||||||
(https://github.com/go-openapi).
|
|
||||||
|
|
||||||
*/
|
|
||||||
package errors
|
|
6
vendor/github.com/go-openapi/errors/go.mod
generated
vendored
6
vendor/github.com/go-openapi/errors/go.mod
generated
vendored
@ -1,6 +0,0 @@
|
|||||||
module github.com/go-openapi/errors
|
|
||||||
|
|
||||||
require (
|
|
||||||
github.com/stretchr/objx v0.2.0 // indirect
|
|
||||||
github.com/stretchr/testify v1.3.0
|
|
||||||
)
|
|
9
vendor/github.com/go-openapi/errors/go.sum
generated
vendored
9
vendor/github.com/go-openapi/errors/go.sum
generated
vendored
@ -1,9 +0,0 @@
|
|||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
|
||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
|
||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
|
||||||
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
|
|
||||||
github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w=
|
|
||||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
|
||||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
|
85
vendor/github.com/go-openapi/errors/headers.go
generated
vendored
85
vendor/github.com/go-openapi/errors/headers.go
generated
vendored
@ -1,85 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package errors
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"net/http"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Validation represents a failure of a precondition
|
|
||||||
type Validation struct {
|
|
||||||
code int32
|
|
||||||
Name string
|
|
||||||
In string
|
|
||||||
Value interface{}
|
|
||||||
message string
|
|
||||||
Values []interface{}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (e *Validation) Error() string {
|
|
||||||
return e.message
|
|
||||||
}
|
|
||||||
|
|
||||||
// Code the error code
|
|
||||||
func (e *Validation) Code() int32 {
|
|
||||||
return e.code
|
|
||||||
}
|
|
||||||
|
|
||||||
// ValidateName produces an error message name for an aliased property
|
|
||||||
func (e *Validation) ValidateName(name string) *Validation {
|
|
||||||
if e.Name == "" && name != "" {
|
|
||||||
e.Name = name
|
|
||||||
e.message = name + e.message
|
|
||||||
}
|
|
||||||
return e
|
|
||||||
}
|
|
||||||
|
|
||||||
const (
|
|
||||||
contentTypeFail = `unsupported media type %q, only %v are allowed`
|
|
||||||
responseFormatFail = `unsupported media type requested, only %v are available`
|
|
||||||
)
|
|
||||||
|
|
||||||
// InvalidContentType error for an invalid content type
|
|
||||||
func InvalidContentType(value string, allowed []string) *Validation {
|
|
||||||
values := make([]interface{}, 0, len(allowed))
|
|
||||||
for _, v := range allowed {
|
|
||||||
values = append(values, v)
|
|
||||||
}
|
|
||||||
return &Validation{
|
|
||||||
code: http.StatusUnsupportedMediaType,
|
|
||||||
Name: "Content-Type",
|
|
||||||
In: "header",
|
|
||||||
Value: value,
|
|
||||||
Values: values,
|
|
||||||
message: fmt.Sprintf(contentTypeFail, value, allowed),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// InvalidResponseFormat error for an unacceptable response format request
|
|
||||||
func InvalidResponseFormat(value string, allowed []string) *Validation {
|
|
||||||
values := make([]interface{}, 0, len(allowed))
|
|
||||||
for _, v := range allowed {
|
|
||||||
values = append(values, v)
|
|
||||||
}
|
|
||||||
return &Validation{
|
|
||||||
code: http.StatusNotAcceptable,
|
|
||||||
Name: "Accept",
|
|
||||||
In: "header",
|
|
||||||
Value: value,
|
|
||||||
Values: values,
|
|
||||||
message: fmt.Sprintf(responseFormatFail, allowed),
|
|
||||||
}
|
|
||||||
}
|
|
51
vendor/github.com/go-openapi/errors/middleware.go
generated
vendored
51
vendor/github.com/go-openapi/errors/middleware.go
generated
vendored
@ -1,51 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package errors
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"fmt"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
// APIVerificationFailed is an error that contains all the missing info for a mismatched section
|
|
||||||
// between the api registrations and the api spec
|
|
||||||
type APIVerificationFailed struct {
|
|
||||||
Section string
|
|
||||||
MissingSpecification []string
|
|
||||||
MissingRegistration []string
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
func (v *APIVerificationFailed) Error() string {
|
|
||||||
buf := bytes.NewBuffer(nil)
|
|
||||||
|
|
||||||
hasRegMissing := len(v.MissingRegistration) > 0
|
|
||||||
hasSpecMissing := len(v.MissingSpecification) > 0
|
|
||||||
|
|
||||||
if hasRegMissing {
|
|
||||||
buf.WriteString(fmt.Sprintf("missing [%s] %s registrations", strings.Join(v.MissingRegistration, ", "), v.Section))
|
|
||||||
}
|
|
||||||
|
|
||||||
if hasRegMissing && hasSpecMissing {
|
|
||||||
buf.WriteString("\n")
|
|
||||||
}
|
|
||||||
|
|
||||||
if hasSpecMissing {
|
|
||||||
buf.WriteString(fmt.Sprintf("missing from spec file [%s] %s", strings.Join(v.MissingSpecification, ", "), v.Section))
|
|
||||||
}
|
|
||||||
|
|
||||||
return buf.String()
|
|
||||||
}
|
|
59
vendor/github.com/go-openapi/errors/parsing.go
generated
vendored
59
vendor/github.com/go-openapi/errors/parsing.go
generated
vendored
@ -1,59 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package errors
|
|
||||||
|
|
||||||
import "fmt"
|
|
||||||
|
|
||||||
// ParseError respresents a parsing error
|
|
||||||
type ParseError struct {
|
|
||||||
code int32
|
|
||||||
Name string
|
|
||||||
In string
|
|
||||||
Value string
|
|
||||||
Reason error
|
|
||||||
message string
|
|
||||||
}
|
|
||||||
|
|
||||||
func (e *ParseError) Error() string {
|
|
||||||
return e.message
|
|
||||||
}
|
|
||||||
|
|
||||||
// Code returns the http status code for this error
|
|
||||||
func (e *ParseError) Code() int32 {
|
|
||||||
return e.code
|
|
||||||
}
|
|
||||||
|
|
||||||
const (
|
|
||||||
parseErrorTemplContent = `parsing %s %s from %q failed, because %s`
|
|
||||||
parseErrorTemplContentNoIn = `parsing %s from %q failed, because %s`
|
|
||||||
)
|
|
||||||
|
|
||||||
// NewParseError creates a new parse error
|
|
||||||
func NewParseError(name, in, value string, reason error) *ParseError {
|
|
||||||
var msg string
|
|
||||||
if in == "" {
|
|
||||||
msg = fmt.Sprintf(parseErrorTemplContentNoIn, name, value, reason)
|
|
||||||
} else {
|
|
||||||
msg = fmt.Sprintf(parseErrorTemplContent, name, in, value, reason)
|
|
||||||
}
|
|
||||||
return &ParseError{
|
|
||||||
code: 400,
|
|
||||||
Name: name,
|
|
||||||
In: in,
|
|
||||||
Value: value,
|
|
||||||
Reason: reason,
|
|
||||||
message: msg,
|
|
||||||
}
|
|
||||||
}
|
|
562
vendor/github.com/go-openapi/errors/schema.go
generated
vendored
562
vendor/github.com/go-openapi/errors/schema.go
generated
vendored
@ -1,562 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package errors
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
invalidType = "%s is an invalid type name"
|
|
||||||
typeFail = "%s in %s must be of type %s"
|
|
||||||
typeFailWithData = "%s in %s must be of type %s: %q"
|
|
||||||
typeFailWithError = "%s in %s must be of type %s, because: %s"
|
|
||||||
requiredFail = "%s in %s is required"
|
|
||||||
tooLongMessage = "%s in %s should be at most %d chars long"
|
|
||||||
tooShortMessage = "%s in %s should be at least %d chars long"
|
|
||||||
patternFail = "%s in %s should match '%s'"
|
|
||||||
enumFail = "%s in %s should be one of %v"
|
|
||||||
multipleOfFail = "%s in %s should be a multiple of %v"
|
|
||||||
maxIncFail = "%s in %s should be less than or equal to %v"
|
|
||||||
maxExcFail = "%s in %s should be less than %v"
|
|
||||||
minIncFail = "%s in %s should be greater than or equal to %v"
|
|
||||||
minExcFail = "%s in %s should be greater than %v"
|
|
||||||
uniqueFail = "%s in %s shouldn't contain duplicates"
|
|
||||||
maxItemsFail = "%s in %s should have at most %d items"
|
|
||||||
minItemsFail = "%s in %s should have at least %d items"
|
|
||||||
typeFailNoIn = "%s must be of type %s"
|
|
||||||
typeFailWithDataNoIn = "%s must be of type %s: %q"
|
|
||||||
typeFailWithErrorNoIn = "%s must be of type %s, because: %s"
|
|
||||||
requiredFailNoIn = "%s is required"
|
|
||||||
tooLongMessageNoIn = "%s should be at most %d chars long"
|
|
||||||
tooShortMessageNoIn = "%s should be at least %d chars long"
|
|
||||||
patternFailNoIn = "%s should match '%s'"
|
|
||||||
enumFailNoIn = "%s should be one of %v"
|
|
||||||
multipleOfFailNoIn = "%s should be a multiple of %v"
|
|
||||||
maxIncFailNoIn = "%s should be less than or equal to %v"
|
|
||||||
maxExcFailNoIn = "%s should be less than %v"
|
|
||||||
minIncFailNoIn = "%s should be greater than or equal to %v"
|
|
||||||
minExcFailNoIn = "%s should be greater than %v"
|
|
||||||
uniqueFailNoIn = "%s shouldn't contain duplicates"
|
|
||||||
maxItemsFailNoIn = "%s should have at most %d items"
|
|
||||||
minItemsFailNoIn = "%s should have at least %d items"
|
|
||||||
noAdditionalItems = "%s in %s can't have additional items"
|
|
||||||
noAdditionalItemsNoIn = "%s can't have additional items"
|
|
||||||
tooFewProperties = "%s in %s should have at least %d properties"
|
|
||||||
tooFewPropertiesNoIn = "%s should have at least %d properties"
|
|
||||||
tooManyProperties = "%s in %s should have at most %d properties"
|
|
||||||
tooManyPropertiesNoIn = "%s should have at most %d properties"
|
|
||||||
unallowedProperty = "%s.%s in %s is a forbidden property"
|
|
||||||
unallowedPropertyNoIn = "%s.%s is a forbidden property"
|
|
||||||
failedAllPatternProps = "%s.%s in %s failed all pattern properties"
|
|
||||||
failedAllPatternPropsNoIn = "%s.%s failed all pattern properties"
|
|
||||||
multipleOfMustBePositive = "factor MultipleOf declared for %s must be positive: %v"
|
|
||||||
)
|
|
||||||
|
|
||||||
// All code responses can be used to differentiate errors for different handling
|
|
||||||
// by the consuming program
|
|
||||||
const (
|
|
||||||
// CompositeErrorCode remains 422 for backwards-compatibility
|
|
||||||
// and to separate it from validation errors with cause
|
|
||||||
CompositeErrorCode = 422
|
|
||||||
// InvalidTypeCode is used for any subclass of invalid types
|
|
||||||
InvalidTypeCode = 600 + iota
|
|
||||||
RequiredFailCode
|
|
||||||
TooLongFailCode
|
|
||||||
TooShortFailCode
|
|
||||||
PatternFailCode
|
|
||||||
EnumFailCode
|
|
||||||
MultipleOfFailCode
|
|
||||||
MaxFailCode
|
|
||||||
MinFailCode
|
|
||||||
UniqueFailCode
|
|
||||||
MaxItemsFailCode
|
|
||||||
MinItemsFailCode
|
|
||||||
NoAdditionalItemsCode
|
|
||||||
TooFewPropertiesCode
|
|
||||||
TooManyPropertiesCode
|
|
||||||
UnallowedPropertyCode
|
|
||||||
FailedAllPatternPropsCode
|
|
||||||
MultipleOfMustBePositiveCode
|
|
||||||
)
|
|
||||||
|
|
||||||
// CompositeError is an error that groups several errors together
|
|
||||||
type CompositeError struct {
|
|
||||||
Errors []error
|
|
||||||
code int32
|
|
||||||
message string
|
|
||||||
}
|
|
||||||
|
|
||||||
// Code for this error
|
|
||||||
func (c *CompositeError) Code() int32 {
|
|
||||||
return c.code
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *CompositeError) Error() string {
|
|
||||||
if len(c.Errors) > 0 {
|
|
||||||
msgs := []string{c.message + ":"}
|
|
||||||
for _, e := range c.Errors {
|
|
||||||
msgs = append(msgs, e.Error())
|
|
||||||
}
|
|
||||||
return strings.Join(msgs, "\n")
|
|
||||||
}
|
|
||||||
return c.message
|
|
||||||
}
|
|
||||||
|
|
||||||
// CompositeValidationError an error to wrap a bunch of other errors
|
|
||||||
func CompositeValidationError(errors ...error) *CompositeError {
|
|
||||||
return &CompositeError{
|
|
||||||
code: CompositeErrorCode,
|
|
||||||
Errors: append([]error{}, errors...),
|
|
||||||
message: "validation failure list",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// FailedAllPatternProperties an error for when the property doesn't match a pattern
|
|
||||||
func FailedAllPatternProperties(name, in, key string) *Validation {
|
|
||||||
msg := fmt.Sprintf(failedAllPatternProps, name, key, in)
|
|
||||||
if in == "" {
|
|
||||||
msg = fmt.Sprintf(failedAllPatternPropsNoIn, name, key)
|
|
||||||
}
|
|
||||||
return &Validation{
|
|
||||||
code: FailedAllPatternPropsCode,
|
|
||||||
Name: name,
|
|
||||||
In: in,
|
|
||||||
Value: key,
|
|
||||||
message: msg,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// PropertyNotAllowed an error for when the property doesn't match a pattern
|
|
||||||
func PropertyNotAllowed(name, in, key string) *Validation {
|
|
||||||
msg := fmt.Sprintf(unallowedProperty, name, key, in)
|
|
||||||
if in == "" {
|
|
||||||
msg = fmt.Sprintf(unallowedPropertyNoIn, name, key)
|
|
||||||
}
|
|
||||||
return &Validation{
|
|
||||||
code: UnallowedPropertyCode,
|
|
||||||
Name: name,
|
|
||||||
In: in,
|
|
||||||
Value: key,
|
|
||||||
message: msg,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// TooFewProperties an error for an object with too few properties
|
|
||||||
func TooFewProperties(name, in string, n int64) *Validation {
|
|
||||||
msg := fmt.Sprintf(tooFewProperties, name, in, n)
|
|
||||||
if in == "" {
|
|
||||||
msg = fmt.Sprintf(tooFewPropertiesNoIn, name, n)
|
|
||||||
}
|
|
||||||
return &Validation{
|
|
||||||
code: TooFewPropertiesCode,
|
|
||||||
Name: name,
|
|
||||||
In: in,
|
|
||||||
Value: n,
|
|
||||||
message: msg,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// TooManyProperties an error for an object with too many properties
|
|
||||||
func TooManyProperties(name, in string, n int64) *Validation {
|
|
||||||
msg := fmt.Sprintf(tooManyProperties, name, in, n)
|
|
||||||
if in == "" {
|
|
||||||
msg = fmt.Sprintf(tooManyPropertiesNoIn, name, n)
|
|
||||||
}
|
|
||||||
return &Validation{
|
|
||||||
code: TooManyPropertiesCode,
|
|
||||||
Name: name,
|
|
||||||
In: in,
|
|
||||||
Value: n,
|
|
||||||
message: msg,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// AdditionalItemsNotAllowed an error for invalid additional items
|
|
||||||
func AdditionalItemsNotAllowed(name, in string) *Validation {
|
|
||||||
msg := fmt.Sprintf(noAdditionalItems, name, in)
|
|
||||||
if in == "" {
|
|
||||||
msg = fmt.Sprintf(noAdditionalItemsNoIn, name)
|
|
||||||
}
|
|
||||||
return &Validation{
|
|
||||||
code: NoAdditionalItemsCode,
|
|
||||||
Name: name,
|
|
||||||
In: in,
|
|
||||||
message: msg,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// InvalidCollectionFormat another flavor of invalid type error
|
|
||||||
func InvalidCollectionFormat(name, in, format string) *Validation {
|
|
||||||
return &Validation{
|
|
||||||
code: InvalidTypeCode,
|
|
||||||
Name: name,
|
|
||||||
In: in,
|
|
||||||
Value: format,
|
|
||||||
message: fmt.Sprintf("the collection format %q is not supported for the %s param %q", format, in, name),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// InvalidTypeName an error for when the type is invalid
|
|
||||||
func InvalidTypeName(typeName string) *Validation {
|
|
||||||
return &Validation{
|
|
||||||
code: InvalidTypeCode,
|
|
||||||
Value: typeName,
|
|
||||||
message: fmt.Sprintf(invalidType, typeName),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// InvalidType creates an error for when the type is invalid
|
|
||||||
func InvalidType(name, in, typeName string, value interface{}) *Validation {
|
|
||||||
var message string
|
|
||||||
|
|
||||||
if in != "" {
|
|
||||||
switch value.(type) {
|
|
||||||
case string:
|
|
||||||
message = fmt.Sprintf(typeFailWithData, name, in, typeName, value)
|
|
||||||
case error:
|
|
||||||
message = fmt.Sprintf(typeFailWithError, name, in, typeName, value)
|
|
||||||
default:
|
|
||||||
message = fmt.Sprintf(typeFail, name, in, typeName)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
switch value.(type) {
|
|
||||||
case string:
|
|
||||||
message = fmt.Sprintf(typeFailWithDataNoIn, name, typeName, value)
|
|
||||||
case error:
|
|
||||||
message = fmt.Sprintf(typeFailWithErrorNoIn, name, typeName, value)
|
|
||||||
default:
|
|
||||||
message = fmt.Sprintf(typeFailNoIn, name, typeName)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return &Validation{
|
|
||||||
code: InvalidTypeCode,
|
|
||||||
Name: name,
|
|
||||||
In: in,
|
|
||||||
Value: value,
|
|
||||||
message: message,
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// DuplicateItems error for when an array contains duplicates
|
|
||||||
func DuplicateItems(name, in string) *Validation {
|
|
||||||
msg := fmt.Sprintf(uniqueFail, name, in)
|
|
||||||
if in == "" {
|
|
||||||
msg = fmt.Sprintf(uniqueFailNoIn, name)
|
|
||||||
}
|
|
||||||
return &Validation{
|
|
||||||
code: UniqueFailCode,
|
|
||||||
Name: name,
|
|
||||||
In: in,
|
|
||||||
message: msg,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// TooManyItems error for when an array contains too many items
|
|
||||||
func TooManyItems(name, in string, max int64) *Validation {
|
|
||||||
msg := fmt.Sprintf(maxItemsFail, name, in, max)
|
|
||||||
if in == "" {
|
|
||||||
msg = fmt.Sprintf(maxItemsFailNoIn, name, max)
|
|
||||||
}
|
|
||||||
|
|
||||||
return &Validation{
|
|
||||||
code: MaxItemsFailCode,
|
|
||||||
Name: name,
|
|
||||||
In: in,
|
|
||||||
message: msg,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// TooFewItems error for when an array contains too few items
|
|
||||||
func TooFewItems(name, in string, min int64) *Validation {
|
|
||||||
msg := fmt.Sprintf(minItemsFail, name, in, min)
|
|
||||||
if in == "" {
|
|
||||||
msg = fmt.Sprintf(minItemsFailNoIn, name, min)
|
|
||||||
}
|
|
||||||
return &Validation{
|
|
||||||
code: MinItemsFailCode,
|
|
||||||
Name: name,
|
|
||||||
In: in,
|
|
||||||
message: msg,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ExceedsMaximumInt error for when maxinum validation fails
|
|
||||||
func ExceedsMaximumInt(name, in string, max int64, exclusive bool) *Validation {
|
|
||||||
var message string
|
|
||||||
if in == "" {
|
|
||||||
m := maxIncFailNoIn
|
|
||||||
if exclusive {
|
|
||||||
m = maxExcFailNoIn
|
|
||||||
}
|
|
||||||
message = fmt.Sprintf(m, name, max)
|
|
||||||
} else {
|
|
||||||
m := maxIncFail
|
|
||||||
if exclusive {
|
|
||||||
m = maxExcFail
|
|
||||||
}
|
|
||||||
message = fmt.Sprintf(m, name, in, max)
|
|
||||||
}
|
|
||||||
return &Validation{
|
|
||||||
code: MaxFailCode,
|
|
||||||
Name: name,
|
|
||||||
In: in,
|
|
||||||
Value: max,
|
|
||||||
message: message,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ExceedsMaximumUint error for when maxinum validation fails
|
|
||||||
func ExceedsMaximumUint(name, in string, max uint64, exclusive bool) *Validation {
|
|
||||||
var message string
|
|
||||||
if in == "" {
|
|
||||||
m := maxIncFailNoIn
|
|
||||||
if exclusive {
|
|
||||||
m = maxExcFailNoIn
|
|
||||||
}
|
|
||||||
message = fmt.Sprintf(m, name, max)
|
|
||||||
} else {
|
|
||||||
m := maxIncFail
|
|
||||||
if exclusive {
|
|
||||||
m = maxExcFail
|
|
||||||
}
|
|
||||||
message = fmt.Sprintf(m, name, in, max)
|
|
||||||
}
|
|
||||||
return &Validation{
|
|
||||||
code: MaxFailCode,
|
|
||||||
Name: name,
|
|
||||||
In: in,
|
|
||||||
Value: max,
|
|
||||||
message: message,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ExceedsMaximum error for when maxinum validation fails
|
|
||||||
func ExceedsMaximum(name, in string, max float64, exclusive bool) *Validation {
|
|
||||||
var message string
|
|
||||||
if in == "" {
|
|
||||||
m := maxIncFailNoIn
|
|
||||||
if exclusive {
|
|
||||||
m = maxExcFailNoIn
|
|
||||||
}
|
|
||||||
message = fmt.Sprintf(m, name, max)
|
|
||||||
} else {
|
|
||||||
m := maxIncFail
|
|
||||||
if exclusive {
|
|
||||||
m = maxExcFail
|
|
||||||
}
|
|
||||||
message = fmt.Sprintf(m, name, in, max)
|
|
||||||
}
|
|
||||||
return &Validation{
|
|
||||||
code: MaxFailCode,
|
|
||||||
Name: name,
|
|
||||||
In: in,
|
|
||||||
Value: max,
|
|
||||||
message: message,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ExceedsMinimumInt error for when maxinum validation fails
|
|
||||||
func ExceedsMinimumInt(name, in string, min int64, exclusive bool) *Validation {
|
|
||||||
var message string
|
|
||||||
if in == "" {
|
|
||||||
m := minIncFailNoIn
|
|
||||||
if exclusive {
|
|
||||||
m = minExcFailNoIn
|
|
||||||
}
|
|
||||||
message = fmt.Sprintf(m, name, min)
|
|
||||||
} else {
|
|
||||||
m := minIncFail
|
|
||||||
if exclusive {
|
|
||||||
m = minExcFail
|
|
||||||
}
|
|
||||||
message = fmt.Sprintf(m, name, in, min)
|
|
||||||
}
|
|
||||||
return &Validation{
|
|
||||||
code: MinFailCode,
|
|
||||||
Name: name,
|
|
||||||
In: in,
|
|
||||||
Value: min,
|
|
||||||
message: message,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ExceedsMinimumUint error for when maxinum validation fails
|
|
||||||
func ExceedsMinimumUint(name, in string, min uint64, exclusive bool) *Validation {
|
|
||||||
var message string
|
|
||||||
if in == "" {
|
|
||||||
m := minIncFailNoIn
|
|
||||||
if exclusive {
|
|
||||||
m = minExcFailNoIn
|
|
||||||
}
|
|
||||||
message = fmt.Sprintf(m, name, min)
|
|
||||||
} else {
|
|
||||||
m := minIncFail
|
|
||||||
if exclusive {
|
|
||||||
m = minExcFail
|
|
||||||
}
|
|
||||||
message = fmt.Sprintf(m, name, in, min)
|
|
||||||
}
|
|
||||||
return &Validation{
|
|
||||||
code: MinFailCode,
|
|
||||||
Name: name,
|
|
||||||
In: in,
|
|
||||||
Value: min,
|
|
||||||
message: message,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ExceedsMinimum error for when maxinum validation fails
|
|
||||||
func ExceedsMinimum(name, in string, min float64, exclusive bool) *Validation {
|
|
||||||
var message string
|
|
||||||
if in == "" {
|
|
||||||
m := minIncFailNoIn
|
|
||||||
if exclusive {
|
|
||||||
m = minExcFailNoIn
|
|
||||||
}
|
|
||||||
message = fmt.Sprintf(m, name, min)
|
|
||||||
} else {
|
|
||||||
m := minIncFail
|
|
||||||
if exclusive {
|
|
||||||
m = minExcFail
|
|
||||||
}
|
|
||||||
message = fmt.Sprintf(m, name, in, min)
|
|
||||||
}
|
|
||||||
return &Validation{
|
|
||||||
code: MinFailCode,
|
|
||||||
Name: name,
|
|
||||||
In: in,
|
|
||||||
Value: min,
|
|
||||||
message: message,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// NotMultipleOf error for when multiple of validation fails
|
|
||||||
func NotMultipleOf(name, in string, multiple interface{}) *Validation {
|
|
||||||
var msg string
|
|
||||||
if in == "" {
|
|
||||||
msg = fmt.Sprintf(multipleOfFailNoIn, name, multiple)
|
|
||||||
} else {
|
|
||||||
msg = fmt.Sprintf(multipleOfFail, name, in, multiple)
|
|
||||||
}
|
|
||||||
return &Validation{
|
|
||||||
code: MultipleOfFailCode,
|
|
||||||
Name: name,
|
|
||||||
In: in,
|
|
||||||
Value: multiple,
|
|
||||||
message: msg,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// EnumFail error for when an enum validation fails
|
|
||||||
func EnumFail(name, in string, value interface{}, values []interface{}) *Validation {
|
|
||||||
var msg string
|
|
||||||
if in == "" {
|
|
||||||
msg = fmt.Sprintf(enumFailNoIn, name, values)
|
|
||||||
} else {
|
|
||||||
msg = fmt.Sprintf(enumFail, name, in, values)
|
|
||||||
}
|
|
||||||
|
|
||||||
return &Validation{
|
|
||||||
code: EnumFailCode,
|
|
||||||
Name: name,
|
|
||||||
In: in,
|
|
||||||
Value: value,
|
|
||||||
Values: values,
|
|
||||||
message: msg,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Required error for when a value is missing
|
|
||||||
func Required(name, in string) *Validation {
|
|
||||||
var msg string
|
|
||||||
if in == "" {
|
|
||||||
msg = fmt.Sprintf(requiredFailNoIn, name)
|
|
||||||
} else {
|
|
||||||
msg = fmt.Sprintf(requiredFail, name, in)
|
|
||||||
}
|
|
||||||
return &Validation{
|
|
||||||
code: RequiredFailCode,
|
|
||||||
Name: name,
|
|
||||||
In: in,
|
|
||||||
message: msg,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// TooLong error for when a string is too long
|
|
||||||
func TooLong(name, in string, max int64) *Validation {
|
|
||||||
var msg string
|
|
||||||
if in == "" {
|
|
||||||
msg = fmt.Sprintf(tooLongMessageNoIn, name, max)
|
|
||||||
} else {
|
|
||||||
msg = fmt.Sprintf(tooLongMessage, name, in, max)
|
|
||||||
}
|
|
||||||
return &Validation{
|
|
||||||
code: TooLongFailCode,
|
|
||||||
Name: name,
|
|
||||||
In: in,
|
|
||||||
message: msg,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// TooShort error for when a string is too short
|
|
||||||
func TooShort(name, in string, min int64) *Validation {
|
|
||||||
var msg string
|
|
||||||
if in == "" {
|
|
||||||
msg = fmt.Sprintf(tooShortMessageNoIn, name, min)
|
|
||||||
} else {
|
|
||||||
msg = fmt.Sprintf(tooShortMessage, name, in, min)
|
|
||||||
}
|
|
||||||
|
|
||||||
return &Validation{
|
|
||||||
code: TooShortFailCode,
|
|
||||||
Name: name,
|
|
||||||
In: in,
|
|
||||||
message: msg,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// FailedPattern error for when a string fails a regex pattern match
|
|
||||||
// the pattern that is returned is the ECMA syntax version of the pattern not the golang version.
|
|
||||||
func FailedPattern(name, in, pattern string) *Validation {
|
|
||||||
var msg string
|
|
||||||
if in == "" {
|
|
||||||
msg = fmt.Sprintf(patternFailNoIn, name, pattern)
|
|
||||||
} else {
|
|
||||||
msg = fmt.Sprintf(patternFail, name, in, pattern)
|
|
||||||
}
|
|
||||||
|
|
||||||
return &Validation{
|
|
||||||
code: PatternFailCode,
|
|
||||||
Name: name,
|
|
||||||
In: in,
|
|
||||||
message: msg,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// MultipleOfMustBePositive error for when a
|
|
||||||
// multipleOf factor is negative
|
|
||||||
func MultipleOfMustBePositive(name, in string, factor interface{}) *Validation {
|
|
||||||
return &Validation{
|
|
||||||
code: MultipleOfMustBePositiveCode,
|
|
||||||
Name: name,
|
|
||||||
In: in,
|
|
||||||
Value: factor,
|
|
||||||
message: fmt.Sprintf(multipleOfMustBePositive, name, factor),
|
|
||||||
}
|
|
||||||
}
|
|
26
vendor/github.com/go-openapi/loads/.editorconfig
generated
vendored
26
vendor/github.com/go-openapi/loads/.editorconfig
generated
vendored
@ -1,26 +0,0 @@
|
|||||||
# top-most EditorConfig file
|
|
||||||
root = true
|
|
||||||
|
|
||||||
# Unix-style newlines with a newline ending every file
|
|
||||||
[*]
|
|
||||||
end_of_line = lf
|
|
||||||
insert_final_newline = true
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 2
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
|
|
||||||
# Set default charset
|
|
||||||
[*.{js,py,go,scala,rb,java,html,css,less,sass,md}]
|
|
||||||
charset = utf-8
|
|
||||||
|
|
||||||
# Tab indentation (no size specified)
|
|
||||||
[*.go]
|
|
||||||
indent_style = tab
|
|
||||||
|
|
||||||
[*.md]
|
|
||||||
trim_trailing_whitespace = false
|
|
||||||
|
|
||||||
# Matches the exact files either package.json or .travis.yml
|
|
||||||
[{package.json,.travis.yml}]
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 2
|
|
4
vendor/github.com/go-openapi/loads/.gitignore
generated
vendored
4
vendor/github.com/go-openapi/loads/.gitignore
generated
vendored
@ -1,4 +0,0 @@
|
|||||||
secrets.yml
|
|
||||||
coverage.out
|
|
||||||
profile.cov
|
|
||||||
profile.out
|
|
22
vendor/github.com/go-openapi/loads/.golangci.yml
generated
vendored
22
vendor/github.com/go-openapi/loads/.golangci.yml
generated
vendored
@ -1,22 +0,0 @@
|
|||||||
linters-settings:
|
|
||||||
govet:
|
|
||||||
check-shadowing: true
|
|
||||||
golint:
|
|
||||||
min-confidence: 0
|
|
||||||
gocyclo:
|
|
||||||
min-complexity: 30
|
|
||||||
maligned:
|
|
||||||
suggest-new: true
|
|
||||||
dupl:
|
|
||||||
threshold: 100
|
|
||||||
goconst:
|
|
||||||
min-len: 2
|
|
||||||
min-occurrences: 4
|
|
||||||
|
|
||||||
linters:
|
|
||||||
enable-all: true
|
|
||||||
disable:
|
|
||||||
- maligned
|
|
||||||
- lll
|
|
||||||
- gochecknoglobals
|
|
||||||
- gochecknoinits
|
|
15
vendor/github.com/go-openapi/loads/.travis.yml
generated
vendored
15
vendor/github.com/go-openapi/loads/.travis.yml
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
after_success:
|
|
||||||
- bash <(curl -s https://codecov.io/bash)
|
|
||||||
go:
|
|
||||||
- 1.11.x
|
|
||||||
- 1.12.x
|
|
||||||
install:
|
|
||||||
- GO111MODULE=off go get -u gotest.tools/gotestsum
|
|
||||||
env:
|
|
||||||
- GO111MODULE=on
|
|
||||||
language: go
|
|
||||||
notifications:
|
|
||||||
slack:
|
|
||||||
secure: OxkPwVp35qBTUilgWC8xykSj+sGMcj0h8IIOKD+Rflx2schZVlFfdYdyVBM+s9OqeOfvtuvnR9v1Ye2rPKAvcjWdC4LpRGUsgmItZaI6Um8Aj6+K9udCw5qrtZVfOVmRu8LieH//XznWWKdOultUuniW0MLqw5+II87Gd00RWbCGi0hk0PykHe7uK+PDA2BEbqyZ2WKKYCvfB3j+0nrFOHScXqnh0V05l2E83J4+Sgy1fsPy+1WdX58ZlNBG333ibaC1FS79XvKSmTgKRkx3+YBo97u6ZtUmJa5WZjf2OdLG3KIckGWAv6R5xgxeU31N0Ng8L332w/Edpp2O/M2bZwdnKJ8hJQikXIAQbICbr+lTDzsoNzMdEIYcHpJ5hjPbiUl3Bmd+Jnsjf5McgAZDiWIfpCKZ29tPCEkVwRsOCqkyPRMNMzHHmoja495P5jR+ODS7+J8RFg5xgcnOgpP9D4Wlhztlf5WyZMpkLxTUD+bZq2SRf50HfHFXTkfq22zPl3d1eq0yrLwh/Z/fWKkfb6SyysROL8y6s8u3dpFX1YHSg0BR6i913h4aoZw9B2BG27cafLLTwKYsp2dFo1PWl4O6u9giFJIeqwloZHLKKrwh0cBFhB7RH0I58asxkZpCH6uWjJierahmHe7iS+E6i+9oCHkOZ59hmCYNimIs3hM=
|
|
||||||
script:
|
|
||||||
- gotestsum -f short-verbose -- -race -timeout=20m -coverprofile=coverage.txt -covermode=atomic ./...
|
|
74
vendor/github.com/go-openapi/loads/CODE_OF_CONDUCT.md
generated
vendored
74
vendor/github.com/go-openapi/loads/CODE_OF_CONDUCT.md
generated
vendored
@ -1,74 +0,0 @@
|
|||||||
# Contributor Covenant Code of Conduct
|
|
||||||
|
|
||||||
## Our Pledge
|
|
||||||
|
|
||||||
In the interest of fostering an open and welcoming environment, we as
|
|
||||||
contributors and maintainers pledge to making participation in our project and
|
|
||||||
our community a harassment-free experience for everyone, regardless of age, body
|
|
||||||
size, disability, ethnicity, gender identity and expression, level of experience,
|
|
||||||
nationality, personal appearance, race, religion, or sexual identity and
|
|
||||||
orientation.
|
|
||||||
|
|
||||||
## Our Standards
|
|
||||||
|
|
||||||
Examples of behavior that contributes to creating a positive environment
|
|
||||||
include:
|
|
||||||
|
|
||||||
* Using welcoming and inclusive language
|
|
||||||
* Being respectful of differing viewpoints and experiences
|
|
||||||
* Gracefully accepting constructive criticism
|
|
||||||
* Focusing on what is best for the community
|
|
||||||
* Showing empathy towards other community members
|
|
||||||
|
|
||||||
Examples of unacceptable behavior by participants include:
|
|
||||||
|
|
||||||
* The use of sexualized language or imagery and unwelcome sexual attention or
|
|
||||||
advances
|
|
||||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
|
||||||
* Public or private harassment
|
|
||||||
* Publishing others' private information, such as a physical or electronic
|
|
||||||
address, without explicit permission
|
|
||||||
* Other conduct which could reasonably be considered inappropriate in a
|
|
||||||
professional setting
|
|
||||||
|
|
||||||
## Our Responsibilities
|
|
||||||
|
|
||||||
Project maintainers are responsible for clarifying the standards of acceptable
|
|
||||||
behavior and are expected to take appropriate and fair corrective action in
|
|
||||||
response to any instances of unacceptable behavior.
|
|
||||||
|
|
||||||
Project maintainers have the right and responsibility to remove, edit, or
|
|
||||||
reject comments, commits, code, wiki edits, issues, and other contributions
|
|
||||||
that are not aligned to this Code of Conduct, or to ban temporarily or
|
|
||||||
permanently any contributor for other behaviors that they deem inappropriate,
|
|
||||||
threatening, offensive, or harmful.
|
|
||||||
|
|
||||||
## Scope
|
|
||||||
|
|
||||||
This Code of Conduct applies both within project spaces and in public spaces
|
|
||||||
when an individual is representing the project or its community. Examples of
|
|
||||||
representing a project or community include using an official project e-mail
|
|
||||||
address, posting via an official social media account, or acting as an appointed
|
|
||||||
representative at an online or offline event. Representation of a project may be
|
|
||||||
further defined and clarified by project maintainers.
|
|
||||||
|
|
||||||
## Enforcement
|
|
||||||
|
|
||||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
|
||||||
reported by contacting the project team at ivan+abuse@flanders.co.nz. All
|
|
||||||
complaints will be reviewed and investigated and will result in a response that
|
|
||||||
is deemed necessary and appropriate to the circumstances. The project team is
|
|
||||||
obligated to maintain confidentiality with regard to the reporter of an incident.
|
|
||||||
Further details of specific enforcement policies may be posted separately.
|
|
||||||
|
|
||||||
Project maintainers who do not follow or enforce the Code of Conduct in good
|
|
||||||
faith may face temporary or permanent repercussions as determined by other
|
|
||||||
members of the project's leadership.
|
|
||||||
|
|
||||||
## Attribution
|
|
||||||
|
|
||||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
|
||||||
available at [http://contributor-covenant.org/version/1/4][version]
|
|
||||||
|
|
||||||
[homepage]: http://contributor-covenant.org
|
|
||||||
[version]: http://contributor-covenant.org/version/1/4/
|
|
202
vendor/github.com/go-openapi/loads/LICENSE
generated
vendored
202
vendor/github.com/go-openapi/loads/LICENSE
generated
vendored
@ -1,202 +0,0 @@
|
|||||||
|
|
||||||
Apache License
|
|
||||||
Version 2.0, January 2004
|
|
||||||
http://www.apache.org/licenses/
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
||||||
|
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by
|
|
||||||
the copyright owner that is granting the License.
|
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all
|
|
||||||
other entities that control, are controlled by, or are under common
|
|
||||||
control with that entity. For the purposes of this definition,
|
|
||||||
"control" means (i) the power, direct or indirect, to cause the
|
|
||||||
direction or management of such entity, whether by contract or
|
|
||||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity
|
|
||||||
exercising permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications,
|
|
||||||
including but not limited to software source code, documentation
|
|
||||||
source, and configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical
|
|
||||||
transformation or translation of a Source form, including but
|
|
||||||
not limited to compiled object code, generated documentation,
|
|
||||||
and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or
|
|
||||||
Object form, made available under the License, as indicated by a
|
|
||||||
copyright notice that is included in or attached to the work
|
|
||||||
(an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object
|
|
||||||
form, that is based on (or derived from) the Work and for which the
|
|
||||||
editorial revisions, annotations, elaborations, or other modifications
|
|
||||||
represent, as a whole, an original work of authorship. For the purposes
|
|
||||||
of this License, Derivative Works shall not include works that remain
|
|
||||||
separable from, or merely link (or bind by name) to the interfaces of,
|
|
||||||
the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including
|
|
||||||
the original version of the Work and any modifications or additions
|
|
||||||
to that Work or Derivative Works thereof, that is intentionally
|
|
||||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
||||||
or by an individual or Legal Entity authorized to submit on behalf of
|
|
||||||
the copyright owner. For the purposes of this definition, "submitted"
|
|
||||||
means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems,
|
|
||||||
and issue tracking systems that are managed by, or on behalf of, the
|
|
||||||
Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise
|
|
||||||
designated in writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
||||||
on behalf of whom a Contribution has been received by Licensor and
|
|
||||||
subsequently incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the
|
|
||||||
Work and such Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
(except as stated in this section) patent license to make, have made,
|
|
||||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
||||||
where such license applies only to those patent claims licensable
|
|
||||||
by such Contributor that are necessarily infringed by their
|
|
||||||
Contribution(s) alone or by combination of their Contribution(s)
|
|
||||||
with the Work to which such Contribution(s) was submitted. If You
|
|
||||||
institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
||||||
or a Contribution incorporated within the Work constitutes direct
|
|
||||||
or contributory patent infringement, then any patent licenses
|
|
||||||
granted to You under this License for that Work shall terminate
|
|
||||||
as of the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the
|
|
||||||
Work or Derivative Works thereof in any medium, with or without
|
|
||||||
modifications, and in Source or Object form, provided that You
|
|
||||||
meet the following conditions:
|
|
||||||
|
|
||||||
(a) You must give any other recipients of the Work or
|
|
||||||
Derivative Works a copy of this License; and
|
|
||||||
|
|
||||||
(b) You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and
|
|
||||||
|
|
||||||
(c) You must retain, in the Source form of any Derivative Works
|
|
||||||
that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work,
|
|
||||||
excluding those notices that do not pertain to any part of
|
|
||||||
the Derivative Works; and
|
|
||||||
|
|
||||||
(d) If the Work includes a "NOTICE" text file as part of its
|
|
||||||
distribution, then any Derivative Works that You distribute must
|
|
||||||
include a readable copy of the attribution notices contained
|
|
||||||
within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one
|
|
||||||
of the following places: within a NOTICE text file distributed
|
|
||||||
as part of the Derivative Works; within the Source form or
|
|
||||||
documentation, if provided along with the Derivative Works; or,
|
|
||||||
within a display generated by the Derivative Works, if and
|
|
||||||
wherever such third-party notices normally appear. The contents
|
|
||||||
of the NOTICE file are for informational purposes only and
|
|
||||||
do not modify the License. You may add Your own attribution
|
|
||||||
notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided
|
|
||||||
that such additional attribution notices cannot be construed
|
|
||||||
as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and
|
|
||||||
may provide additional or different license terms and conditions
|
|
||||||
for use, reproduction, or distribution of Your modifications, or
|
|
||||||
for any such Derivative Works as a whole, provided Your use,
|
|
||||||
reproduction, and distribution of the Work otherwise complies with
|
|
||||||
the conditions stated in this License.
|
|
||||||
|
|
||||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
||||||
any Contribution intentionally submitted for inclusion in the Work
|
|
||||||
by You to the Licensor shall be under the terms and conditions of
|
|
||||||
this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify
|
|
||||||
the terms of any separate license agreement you may have executed
|
|
||||||
with Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor,
|
|
||||||
except as required for reasonable and customary use in describing the
|
|
||||||
origin of the Work and reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
||||||
agreed to in writing, Licensor provides the Work (and each
|
|
||||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
||||||
implied, including, without limitation, any warranties or conditions
|
|
||||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any
|
|
||||||
risks associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory,
|
|
||||||
whether in tort (including negligence), contract, or otherwise,
|
|
||||||
unless required by applicable law (such as deliberate and grossly
|
|
||||||
negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special,
|
|
||||||
incidental, or consequential damages of any character arising as a
|
|
||||||
result of this License or out of the use or inability to use the
|
|
||||||
Work (including but not limited to damages for loss of goodwill,
|
|
||||||
work stoppage, computer failure or malfunction, or any and all
|
|
||||||
other commercial damages or losses), even if such Contributor
|
|
||||||
has been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing
|
|
||||||
the Work or Derivative Works thereof, You may choose to offer,
|
|
||||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
||||||
or other liability obligations and/or rights consistent with this
|
|
||||||
License. However, in accepting such obligations, You may act only
|
|
||||||
on Your own behalf and on Your sole responsibility, not on behalf
|
|
||||||
of any other Contributor, and only if You agree to indemnify,
|
|
||||||
defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason
|
|
||||||
of your accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
APPENDIX: How to apply the Apache License to your work.
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following
|
|
||||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
||||||
replaced with your own identifying information. (Don't include
|
|
||||||
the brackets!) The text should be enclosed in the appropriate
|
|
||||||
comment syntax for the file format. We also recommend that a
|
|
||||||
file or class name and description of purpose be included on the
|
|
||||||
same "printed page" as the copyright notice for easier
|
|
||||||
identification within third-party archives.
|
|
||||||
|
|
||||||
Copyright [yyyy] [name of copyright owner]
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
7
vendor/github.com/go-openapi/loads/README.md
generated
vendored
7
vendor/github.com/go-openapi/loads/README.md
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
# Loads OAI specs [](https://travis-ci.org/go-openapi/loads) [](https://codecov.io/gh/go-openapi/loads) [](https://slackin.goswagger.io)
|
|
||||||
|
|
||||||
[](https://raw.githubusercontent.com/go-openapi/loads/master/LICENSE) [](http://godoc.org/github.com/go-openapi/loads)
|
|
||||||
[](https://golangci.com)
|
|
||||||
[](https://goreportcard.com/report/github.com/go-openapi/loads)
|
|
||||||
|
|
||||||
Loading of OAI specification documents from local or remote locations. Supports JSON and YAML documents.
|
|
21
vendor/github.com/go-openapi/loads/doc.go
generated
vendored
21
vendor/github.com/go-openapi/loads/doc.go
generated
vendored
@ -1,21 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
/*
|
|
||||||
Package loads provides document loading methods for swagger (OAI) specifications.
|
|
||||||
|
|
||||||
It is used by other go-openapi packages to load and run analysis on local or remote spec documents.
|
|
||||||
|
|
||||||
*/
|
|
||||||
package loads
|
|
11
vendor/github.com/go-openapi/loads/go.mod
generated
vendored
11
vendor/github.com/go-openapi/loads/go.mod
generated
vendored
@ -1,11 +0,0 @@
|
|||||||
module github.com/go-openapi/loads
|
|
||||||
|
|
||||||
require (
|
|
||||||
github.com/go-openapi/analysis v0.19.5
|
|
||||||
github.com/go-openapi/spec v0.19.3
|
|
||||||
github.com/go-openapi/swag v0.19.5
|
|
||||||
github.com/stretchr/testify v1.3.0
|
|
||||||
gopkg.in/yaml.v2 v2.2.4
|
|
||||||
)
|
|
||||||
|
|
||||||
go 1.13
|
|
98
vendor/github.com/go-openapi/loads/go.sum
generated
vendored
98
vendor/github.com/go-openapi/loads/go.sum
generated
vendored
@ -1,98 +0,0 @@
|
|||||||
github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
|
|
||||||
github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
|
|
||||||
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
|
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
|
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
|
||||||
github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
|
|
||||||
github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA=
|
|
||||||
github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
|
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
|
||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
|
||||||
github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
|
|
||||||
github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI=
|
|
||||||
github.com/go-openapi/analysis v0.19.5 h1:8b2ZgKfKIUTVQpTb77MoRDIMEIwvDVw40o3aOXdfYzI=
|
|
||||||
github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU=
|
|
||||||
github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
|
|
||||||
github.com/go-openapi/errors v0.19.2 h1:a2kIyV3w+OS3S97zxUndRVD46+FhGOUBDFY7nmu4CsY=
|
|
||||||
github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
|
|
||||||
github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
|
|
||||||
github.com/go-openapi/jsonpointer v0.19.2 h1:A9+F4Dc/MCNB5jibxf6rRvOvR/iFgQdyNx9eIhnGqq0=
|
|
||||||
github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
|
|
||||||
github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w=
|
|
||||||
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
|
|
||||||
github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
|
|
||||||
github.com/go-openapi/jsonreference v0.19.2 h1:o20suLFB4Ri0tuzpWtyHlh7E7HnkqTNLq6aR6WVNS1w=
|
|
||||||
github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
|
|
||||||
github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
|
|
||||||
github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
|
|
||||||
github.com/go-openapi/spec v0.19.3 h1:0XRyw8kguri6Yw4SxhsQA/atC88yqrk0+G4YhI2wabc=
|
|
||||||
github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo=
|
|
||||||
github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
|
|
||||||
github.com/go-openapi/strfmt v0.19.3 h1:eRfyY5SkaNJCAwmmMcADjY31ow9+N7MCLW7oRkbsINA=
|
|
||||||
github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU=
|
|
||||||
github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
|
|
||||||
github.com/go-openapi/swag v0.19.2 h1:jvO6bCMBEilGwMfHhrd61zIID4oIFdwb76V17SM88dE=
|
|
||||||
github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
|
|
||||||
github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY=
|
|
||||||
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
|
|
||||||
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
|
|
||||||
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
|
||||||
github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY=
|
|
||||||
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
|
|
||||||
github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
|
||||||
github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
|
|
||||||
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
|
||||||
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
|
||||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
|
||||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
|
||||||
github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
|
|
||||||
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
|
||||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
|
||||||
github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
|
||||||
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63 h1:nTT4s92Dgz2HlrB2NaMgvlfqHH39OgMhA7z3PK7PGD4=
|
|
||||||
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
|
||||||
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e h1:hB2xlXdHp/pmPZq0y3QnmWAArdw9PqbmotexnWx/FU8=
|
|
||||||
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
|
||||||
github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
|
|
||||||
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
|
|
||||||
github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
|
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
|
||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
|
||||||
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
|
|
||||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
|
||||||
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
|
|
||||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
|
||||||
github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
|
|
||||||
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
|
|
||||||
go.mongodb.org/mongo-driver v1.0.3 h1:GKoji1ld3tw2aC+GX1wbr/J2fX13yNacEYoJ8Nhr0yU=
|
|
||||||
go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
|
|
||||||
go.mongodb.org/mongo-driver v1.1.1 h1:Sq1fR+0c58RME5EoqKdjkiQAmPjmfHlZOoRI6fTUOcs=
|
|
||||||
go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
|
|
||||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
|
||||||
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
|
||||||
golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
|
||||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
|
||||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
|
||||||
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980 h1:dfGZHvZk057jK2MCeWus/TowKpJ8y4AmooUzdBSR9GU=
|
|
||||||
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
|
||||||
golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297 h1:k7pJ2yAPLPgbskkFdhRCsA77k2fySZ1zf2zCjvQCiIM=
|
|
||||||
golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
|
||||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
|
||||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
|
||||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
|
||||||
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
|
|
||||||
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
|
||||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
|
||||||
golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
|
||||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
|
|
||||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
|
||||||
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|
||||||
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
|
|
||||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|
||||||
gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I=
|
|
||||||
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|
298
vendor/github.com/go-openapi/loads/spec.go
generated
vendored
298
vendor/github.com/go-openapi/loads/spec.go
generated
vendored
@ -1,298 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package loads
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"encoding/gob"
|
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
|
||||||
"net/url"
|
|
||||||
|
|
||||||
"github.com/go-openapi/analysis"
|
|
||||||
"github.com/go-openapi/spec"
|
|
||||||
"github.com/go-openapi/swag"
|
|
||||||
)
|
|
||||||
|
|
||||||
// JSONDoc loads a json document from either a file or a remote url
|
|
||||||
func JSONDoc(path string) (json.RawMessage, error) {
|
|
||||||
data, err := swag.LoadFromFileOrHTTP(path)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return json.RawMessage(data), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// DocLoader represents a doc loader type
|
|
||||||
type DocLoader func(string) (json.RawMessage, error)
|
|
||||||
|
|
||||||
// DocMatcher represents a predicate to check if a loader matches
|
|
||||||
type DocMatcher func(string) bool
|
|
||||||
|
|
||||||
var (
|
|
||||||
loaders *loader
|
|
||||||
defaultLoader *loader
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
defaultLoader = &loader{Match: func(_ string) bool { return true }, Fn: JSONDoc}
|
|
||||||
loaders = defaultLoader
|
|
||||||
spec.PathLoader = loaders.Fn
|
|
||||||
AddLoader(swag.YAMLMatcher, swag.YAMLDoc)
|
|
||||||
|
|
||||||
gob.Register(map[string]interface{}{})
|
|
||||||
gob.Register([]interface{}{})
|
|
||||||
//gob.Register(spec.Refable{})
|
|
||||||
}
|
|
||||||
|
|
||||||
// AddLoader for a document
|
|
||||||
func AddLoader(predicate DocMatcher, load DocLoader) {
|
|
||||||
prev := loaders
|
|
||||||
loaders = &loader{
|
|
||||||
Match: predicate,
|
|
||||||
Fn: load,
|
|
||||||
Next: prev,
|
|
||||||
}
|
|
||||||
spec.PathLoader = loaders.Fn
|
|
||||||
}
|
|
||||||
|
|
||||||
type loader struct {
|
|
||||||
Fn DocLoader
|
|
||||||
Match DocMatcher
|
|
||||||
Next *loader
|
|
||||||
}
|
|
||||||
|
|
||||||
// JSONSpec loads a spec from a json document
|
|
||||||
func JSONSpec(path string) (*Document, error) {
|
|
||||||
data, err := JSONDoc(path)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
// convert to json
|
|
||||||
return Analyzed(data, "")
|
|
||||||
}
|
|
||||||
|
|
||||||
// Document represents a swagger spec document
|
|
||||||
type Document struct {
|
|
||||||
// specAnalyzer
|
|
||||||
Analyzer *analysis.Spec
|
|
||||||
spec *spec.Swagger
|
|
||||||
specFilePath string
|
|
||||||
origSpec *spec.Swagger
|
|
||||||
schema *spec.Schema
|
|
||||||
raw json.RawMessage
|
|
||||||
}
|
|
||||||
|
|
||||||
// Embedded returns a Document based on embedded specs. No analysis is required
|
|
||||||
func Embedded(orig, flat json.RawMessage) (*Document, error) {
|
|
||||||
var origSpec, flatSpec spec.Swagger
|
|
||||||
if err := json.Unmarshal(orig, &origSpec); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if err := json.Unmarshal(flat, &flatSpec); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return &Document{
|
|
||||||
raw: orig,
|
|
||||||
origSpec: &origSpec,
|
|
||||||
spec: &flatSpec,
|
|
||||||
}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Spec loads a new spec document
|
|
||||||
func Spec(path string) (*Document, error) {
|
|
||||||
specURL, err := url.Parse(path)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
var lastErr error
|
|
||||||
for l := loaders.Next; l != nil; l = l.Next {
|
|
||||||
if loaders.Match(specURL.Path) {
|
|
||||||
b, err2 := loaders.Fn(path)
|
|
||||||
if err2 != nil {
|
|
||||||
lastErr = err2
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
doc, err3 := Analyzed(b, "")
|
|
||||||
if err3 != nil {
|
|
||||||
return nil, err3
|
|
||||||
}
|
|
||||||
if doc != nil {
|
|
||||||
doc.specFilePath = path
|
|
||||||
}
|
|
||||||
return doc, nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if lastErr != nil {
|
|
||||||
return nil, lastErr
|
|
||||||
}
|
|
||||||
b, err := defaultLoader.Fn(path)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
document, err := Analyzed(b, "")
|
|
||||||
if document != nil {
|
|
||||||
document.specFilePath = path
|
|
||||||
}
|
|
||||||
|
|
||||||
return document, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// Analyzed creates a new analyzed spec document
|
|
||||||
func Analyzed(data json.RawMessage, version string) (*Document, error) {
|
|
||||||
if version == "" {
|
|
||||||
version = "2.0"
|
|
||||||
}
|
|
||||||
if version != "2.0" {
|
|
||||||
return nil, fmt.Errorf("spec version %q is not supported", version)
|
|
||||||
}
|
|
||||||
|
|
||||||
raw := data
|
|
||||||
trimmed := bytes.TrimSpace(data)
|
|
||||||
if len(trimmed) > 0 {
|
|
||||||
if trimmed[0] != '{' && trimmed[0] != '[' {
|
|
||||||
yml, err := swag.BytesToYAMLDoc(trimmed)
|
|
||||||
if err != nil {
|
|
||||||
return nil, fmt.Errorf("analyzed: %v", err)
|
|
||||||
}
|
|
||||||
d, err := swag.YAMLToJSON(yml)
|
|
||||||
if err != nil {
|
|
||||||
return nil, fmt.Errorf("analyzed: %v", err)
|
|
||||||
}
|
|
||||||
raw = d
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
swspec := new(spec.Swagger)
|
|
||||||
if err := json.Unmarshal(raw, swspec); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
origsqspec, err := cloneSpec(swspec)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
d := &Document{
|
|
||||||
Analyzer: analysis.New(swspec),
|
|
||||||
schema: spec.MustLoadSwagger20Schema(),
|
|
||||||
spec: swspec,
|
|
||||||
raw: raw,
|
|
||||||
origSpec: origsqspec,
|
|
||||||
}
|
|
||||||
return d, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Expanded expands the ref fields in the spec document and returns a new spec document
|
|
||||||
func (d *Document) Expanded(options ...*spec.ExpandOptions) (*Document, error) {
|
|
||||||
swspec := new(spec.Swagger)
|
|
||||||
if err := json.Unmarshal(d.raw, swspec); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
var expandOptions *spec.ExpandOptions
|
|
||||||
if len(options) > 0 {
|
|
||||||
expandOptions = options[0]
|
|
||||||
} else {
|
|
||||||
expandOptions = &spec.ExpandOptions{
|
|
||||||
RelativeBase: d.specFilePath,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := spec.ExpandSpec(swspec, expandOptions); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
dd := &Document{
|
|
||||||
Analyzer: analysis.New(swspec),
|
|
||||||
spec: swspec,
|
|
||||||
specFilePath: d.specFilePath,
|
|
||||||
schema: spec.MustLoadSwagger20Schema(),
|
|
||||||
raw: d.raw,
|
|
||||||
origSpec: d.origSpec,
|
|
||||||
}
|
|
||||||
return dd, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// BasePath the base path for this spec
|
|
||||||
func (d *Document) BasePath() string {
|
|
||||||
return d.spec.BasePath
|
|
||||||
}
|
|
||||||
|
|
||||||
// Version returns the version of this spec
|
|
||||||
func (d *Document) Version() string {
|
|
||||||
return d.spec.Swagger
|
|
||||||
}
|
|
||||||
|
|
||||||
// Schema returns the swagger 2.0 schema
|
|
||||||
func (d *Document) Schema() *spec.Schema {
|
|
||||||
return d.schema
|
|
||||||
}
|
|
||||||
|
|
||||||
// Spec returns the swagger spec object model
|
|
||||||
func (d *Document) Spec() *spec.Swagger {
|
|
||||||
return d.spec
|
|
||||||
}
|
|
||||||
|
|
||||||
// Host returns the host for the API
|
|
||||||
func (d *Document) Host() string {
|
|
||||||
return d.spec.Host
|
|
||||||
}
|
|
||||||
|
|
||||||
// Raw returns the raw swagger spec as json bytes
|
|
||||||
func (d *Document) Raw() json.RawMessage {
|
|
||||||
return d.raw
|
|
||||||
}
|
|
||||||
|
|
||||||
// OrigSpec yields the original spec
|
|
||||||
func (d *Document) OrigSpec() *spec.Swagger {
|
|
||||||
return d.origSpec
|
|
||||||
}
|
|
||||||
|
|
||||||
// ResetDefinitions gives a shallow copy with the models reset
|
|
||||||
func (d *Document) ResetDefinitions() *Document {
|
|
||||||
defs := make(map[string]spec.Schema, len(d.origSpec.Definitions))
|
|
||||||
for k, v := range d.origSpec.Definitions {
|
|
||||||
defs[k] = v
|
|
||||||
}
|
|
||||||
|
|
||||||
d.spec.Definitions = defs
|
|
||||||
return d
|
|
||||||
}
|
|
||||||
|
|
||||||
// Pristine creates a new pristine document instance based on the input data
|
|
||||||
func (d *Document) Pristine() *Document {
|
|
||||||
dd, _ := Analyzed(d.Raw(), d.Version())
|
|
||||||
return dd
|
|
||||||
}
|
|
||||||
|
|
||||||
// SpecFilePath returns the file path of the spec if one is defined
|
|
||||||
func (d *Document) SpecFilePath() string {
|
|
||||||
return d.specFilePath
|
|
||||||
}
|
|
||||||
|
|
||||||
func cloneSpec(src *spec.Swagger) (*spec.Swagger, error) {
|
|
||||||
var b bytes.Buffer
|
|
||||||
if err := gob.NewEncoder(&b).Encode(src); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
var dst spec.Swagger
|
|
||||||
if err := gob.NewDecoder(&b).Decode(&dst); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return &dst, nil
|
|
||||||
}
|
|
26
vendor/github.com/go-openapi/runtime/.editorconfig
generated
vendored
26
vendor/github.com/go-openapi/runtime/.editorconfig
generated
vendored
@ -1,26 +0,0 @@
|
|||||||
# top-most EditorConfig file
|
|
||||||
root = true
|
|
||||||
|
|
||||||
# Unix-style newlines with a newline ending every file
|
|
||||||
[*]
|
|
||||||
end_of_line = lf
|
|
||||||
insert_final_newline = true
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 2
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
|
|
||||||
# Set default charset
|
|
||||||
[*.{js,py,go,scala,rb,java,html,css,less,sass,md}]
|
|
||||||
charset = utf-8
|
|
||||||
|
|
||||||
# Tab indentation (no size specified)
|
|
||||||
[*.go]
|
|
||||||
indent_style = tab
|
|
||||||
|
|
||||||
[*.md]
|
|
||||||
trim_trailing_whitespace = false
|
|
||||||
|
|
||||||
# Matches the exact files either package.json or .travis.yml
|
|
||||||
[{package.json,.travis.yml}]
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 2
|
|
5
vendor/github.com/go-openapi/runtime/.gitignore
generated
vendored
5
vendor/github.com/go-openapi/runtime/.gitignore
generated
vendored
@ -1,5 +0,0 @@
|
|||||||
secrets.yml
|
|
||||||
coverage.out
|
|
||||||
*.cov
|
|
||||||
*.out
|
|
||||||
playground
|
|
15
vendor/github.com/go-openapi/runtime/.travis.yml
generated
vendored
15
vendor/github.com/go-openapi/runtime/.travis.yml
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
after_success:
|
|
||||||
- bash <(curl -s https://codecov.io/bash)
|
|
||||||
go:
|
|
||||||
- 1.11.x
|
|
||||||
- 1.12.x
|
|
||||||
install:
|
|
||||||
- GO111MODULE=off go get -u gotest.tools/gotestsum
|
|
||||||
env:
|
|
||||||
- GO111MODULE=on
|
|
||||||
language: go
|
|
||||||
notifications:
|
|
||||||
slack:
|
|
||||||
secure: EmObnQuM9Mw8J9vpFaKKHqSMN4Wsr/A9+v7ewAD5cEhA0T1P4m7MbJMiJOhxUhj/X+BFh2DamW+P2lT8mybj5wg8wnkQ2BteKA8Tawi6f9PRw2NRheO8tAi8o/npLnlmet0kc93mn+oLuqHw36w4+j5mkOl2FghkfGiUVhwrhkCP7KXQN+3TU87e+/HzQumlJ3nsE+6terVxkH3PmaUTsS5ONaODZfuxFpfb7RsoEl3skHf6d+tr+1nViLxxly7558Nc33C+W1mr0qiEvMLZ+kJ/CpGWBJ6CUJM3jm6hNe2eMuIPwEK2hxZob8c7n22VPap4K6a0bBRoydoDXaba+2sD7Ym6ivDO/DVyL44VeBBLyIiIBylDGQdZH+6SoWm90Qe/i7tnY/T5Ao5igT8f3cfQY1c3EsTfqmlDfrhmACBmwSlgkdVBLTprHL63JMY24LWmh4jhxsmMRZhCL4dze8su1w6pLN/pD1pGHtKYCEVbdTmaM3PblNRFf12XB7qosmQsgUndH4Vq3bTbU0s1pKjeDhRyLvFzvR0TBbo0pDLEoF1A/i5GVFWa7yLZNUDudQERRh7qv/xBl2excIaQ1sV4DSVm7bAE9l6Kp+yeHQJW2uN6Y3X8wu9gB9nv9l5HBze7wh8KE6PyWAOLYYqZg9/sAtsv/2GcQqXcKFF1zcA=
|
|
||||||
script:
|
|
||||||
- gotestsum -f short-verbose -- -race -timeout=20m -coverprofile=coverage.txt -covermode=atomic ./...
|
|
74
vendor/github.com/go-openapi/runtime/CODE_OF_CONDUCT.md
generated
vendored
74
vendor/github.com/go-openapi/runtime/CODE_OF_CONDUCT.md
generated
vendored
@ -1,74 +0,0 @@
|
|||||||
# Contributor Covenant Code of Conduct
|
|
||||||
|
|
||||||
## Our Pledge
|
|
||||||
|
|
||||||
In the interest of fostering an open and welcoming environment, we as
|
|
||||||
contributors and maintainers pledge to making participation in our project and
|
|
||||||
our community a harassment-free experience for everyone, regardless of age, body
|
|
||||||
size, disability, ethnicity, gender identity and expression, level of experience,
|
|
||||||
nationality, personal appearance, race, religion, or sexual identity and
|
|
||||||
orientation.
|
|
||||||
|
|
||||||
## Our Standards
|
|
||||||
|
|
||||||
Examples of behavior that contributes to creating a positive environment
|
|
||||||
include:
|
|
||||||
|
|
||||||
* Using welcoming and inclusive language
|
|
||||||
* Being respectful of differing viewpoints and experiences
|
|
||||||
* Gracefully accepting constructive criticism
|
|
||||||
* Focusing on what is best for the community
|
|
||||||
* Showing empathy towards other community members
|
|
||||||
|
|
||||||
Examples of unacceptable behavior by participants include:
|
|
||||||
|
|
||||||
* The use of sexualized language or imagery and unwelcome sexual attention or
|
|
||||||
advances
|
|
||||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
|
||||||
* Public or private harassment
|
|
||||||
* Publishing others' private information, such as a physical or electronic
|
|
||||||
address, without explicit permission
|
|
||||||
* Other conduct which could reasonably be considered inappropriate in a
|
|
||||||
professional setting
|
|
||||||
|
|
||||||
## Our Responsibilities
|
|
||||||
|
|
||||||
Project maintainers are responsible for clarifying the standards of acceptable
|
|
||||||
behavior and are expected to take appropriate and fair corrective action in
|
|
||||||
response to any instances of unacceptable behavior.
|
|
||||||
|
|
||||||
Project maintainers have the right and responsibility to remove, edit, or
|
|
||||||
reject comments, commits, code, wiki edits, issues, and other contributions
|
|
||||||
that are not aligned to this Code of Conduct, or to ban temporarily or
|
|
||||||
permanently any contributor for other behaviors that they deem inappropriate,
|
|
||||||
threatening, offensive, or harmful.
|
|
||||||
|
|
||||||
## Scope
|
|
||||||
|
|
||||||
This Code of Conduct applies both within project spaces and in public spaces
|
|
||||||
when an individual is representing the project or its community. Examples of
|
|
||||||
representing a project or community include using an official project e-mail
|
|
||||||
address, posting via an official social media account, or acting as an appointed
|
|
||||||
representative at an online or offline event. Representation of a project may be
|
|
||||||
further defined and clarified by project maintainers.
|
|
||||||
|
|
||||||
## Enforcement
|
|
||||||
|
|
||||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
|
||||||
reported by contacting the project team at ivan+abuse@flanders.co.nz. All
|
|
||||||
complaints will be reviewed and investigated and will result in a response that
|
|
||||||
is deemed necessary and appropriate to the circumstances. The project team is
|
|
||||||
obligated to maintain confidentiality with regard to the reporter of an incident.
|
|
||||||
Further details of specific enforcement policies may be posted separately.
|
|
||||||
|
|
||||||
Project maintainers who do not follow or enforce the Code of Conduct in good
|
|
||||||
faith may face temporary or permanent repercussions as determined by other
|
|
||||||
members of the project's leadership.
|
|
||||||
|
|
||||||
## Attribution
|
|
||||||
|
|
||||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
|
||||||
available at [http://contributor-covenant.org/version/1/4][version]
|
|
||||||
|
|
||||||
[homepage]: http://contributor-covenant.org
|
|
||||||
[version]: http://contributor-covenant.org/version/1/4/
|
|
202
vendor/github.com/go-openapi/runtime/LICENSE
generated
vendored
202
vendor/github.com/go-openapi/runtime/LICENSE
generated
vendored
@ -1,202 +0,0 @@
|
|||||||
|
|
||||||
Apache License
|
|
||||||
Version 2.0, January 2004
|
|
||||||
http://www.apache.org/licenses/
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
||||||
|
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by
|
|
||||||
the copyright owner that is granting the License.
|
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all
|
|
||||||
other entities that control, are controlled by, or are under common
|
|
||||||
control with that entity. For the purposes of this definition,
|
|
||||||
"control" means (i) the power, direct or indirect, to cause the
|
|
||||||
direction or management of such entity, whether by contract or
|
|
||||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity
|
|
||||||
exercising permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications,
|
|
||||||
including but not limited to software source code, documentation
|
|
||||||
source, and configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical
|
|
||||||
transformation or translation of a Source form, including but
|
|
||||||
not limited to compiled object code, generated documentation,
|
|
||||||
and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or
|
|
||||||
Object form, made available under the License, as indicated by a
|
|
||||||
copyright notice that is included in or attached to the work
|
|
||||||
(an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object
|
|
||||||
form, that is based on (or derived from) the Work and for which the
|
|
||||||
editorial revisions, annotations, elaborations, or other modifications
|
|
||||||
represent, as a whole, an original work of authorship. For the purposes
|
|
||||||
of this License, Derivative Works shall not include works that remain
|
|
||||||
separable from, or merely link (or bind by name) to the interfaces of,
|
|
||||||
the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including
|
|
||||||
the original version of the Work and any modifications or additions
|
|
||||||
to that Work or Derivative Works thereof, that is intentionally
|
|
||||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
||||||
or by an individual or Legal Entity authorized to submit on behalf of
|
|
||||||
the copyright owner. For the purposes of this definition, "submitted"
|
|
||||||
means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems,
|
|
||||||
and issue tracking systems that are managed by, or on behalf of, the
|
|
||||||
Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise
|
|
||||||
designated in writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
||||||
on behalf of whom a Contribution has been received by Licensor and
|
|
||||||
subsequently incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the
|
|
||||||
Work and such Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
(except as stated in this section) patent license to make, have made,
|
|
||||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
||||||
where such license applies only to those patent claims licensable
|
|
||||||
by such Contributor that are necessarily infringed by their
|
|
||||||
Contribution(s) alone or by combination of their Contribution(s)
|
|
||||||
with the Work to which such Contribution(s) was submitted. If You
|
|
||||||
institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
||||||
or a Contribution incorporated within the Work constitutes direct
|
|
||||||
or contributory patent infringement, then any patent licenses
|
|
||||||
granted to You under this License for that Work shall terminate
|
|
||||||
as of the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the
|
|
||||||
Work or Derivative Works thereof in any medium, with or without
|
|
||||||
modifications, and in Source or Object form, provided that You
|
|
||||||
meet the following conditions:
|
|
||||||
|
|
||||||
(a) You must give any other recipients of the Work or
|
|
||||||
Derivative Works a copy of this License; and
|
|
||||||
|
|
||||||
(b) You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and
|
|
||||||
|
|
||||||
(c) You must retain, in the Source form of any Derivative Works
|
|
||||||
that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work,
|
|
||||||
excluding those notices that do not pertain to any part of
|
|
||||||
the Derivative Works; and
|
|
||||||
|
|
||||||
(d) If the Work includes a "NOTICE" text file as part of its
|
|
||||||
distribution, then any Derivative Works that You distribute must
|
|
||||||
include a readable copy of the attribution notices contained
|
|
||||||
within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one
|
|
||||||
of the following places: within a NOTICE text file distributed
|
|
||||||
as part of the Derivative Works; within the Source form or
|
|
||||||
documentation, if provided along with the Derivative Works; or,
|
|
||||||
within a display generated by the Derivative Works, if and
|
|
||||||
wherever such third-party notices normally appear. The contents
|
|
||||||
of the NOTICE file are for informational purposes only and
|
|
||||||
do not modify the License. You may add Your own attribution
|
|
||||||
notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided
|
|
||||||
that such additional attribution notices cannot be construed
|
|
||||||
as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and
|
|
||||||
may provide additional or different license terms and conditions
|
|
||||||
for use, reproduction, or distribution of Your modifications, or
|
|
||||||
for any such Derivative Works as a whole, provided Your use,
|
|
||||||
reproduction, and distribution of the Work otherwise complies with
|
|
||||||
the conditions stated in this License.
|
|
||||||
|
|
||||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
||||||
any Contribution intentionally submitted for inclusion in the Work
|
|
||||||
by You to the Licensor shall be under the terms and conditions of
|
|
||||||
this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify
|
|
||||||
the terms of any separate license agreement you may have executed
|
|
||||||
with Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor,
|
|
||||||
except as required for reasonable and customary use in describing the
|
|
||||||
origin of the Work and reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
||||||
agreed to in writing, Licensor provides the Work (and each
|
|
||||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
||||||
implied, including, without limitation, any warranties or conditions
|
|
||||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any
|
|
||||||
risks associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory,
|
|
||||||
whether in tort (including negligence), contract, or otherwise,
|
|
||||||
unless required by applicable law (such as deliberate and grossly
|
|
||||||
negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special,
|
|
||||||
incidental, or consequential damages of any character arising as a
|
|
||||||
result of this License or out of the use or inability to use the
|
|
||||||
Work (including but not limited to damages for loss of goodwill,
|
|
||||||
work stoppage, computer failure or malfunction, or any and all
|
|
||||||
other commercial damages or losses), even if such Contributor
|
|
||||||
has been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing
|
|
||||||
the Work or Derivative Works thereof, You may choose to offer,
|
|
||||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
||||||
or other liability obligations and/or rights consistent with this
|
|
||||||
License. However, in accepting such obligations, You may act only
|
|
||||||
on Your own behalf and on Your sole responsibility, not on behalf
|
|
||||||
of any other Contributor, and only if You agree to indemnify,
|
|
||||||
defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason
|
|
||||||
of your accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
APPENDIX: How to apply the Apache License to your work.
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following
|
|
||||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
||||||
replaced with your own identifying information. (Don't include
|
|
||||||
the brackets!) The text should be enclosed in the appropriate
|
|
||||||
comment syntax for the file format. We also recommend that a
|
|
||||||
file or class name and description of purpose be included on the
|
|
||||||
same "printed page" as the copyright notice for easier
|
|
||||||
identification within third-party archives.
|
|
||||||
|
|
||||||
Copyright [yyyy] [name of copyright owner]
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
7
vendor/github.com/go-openapi/runtime/README.md
generated
vendored
7
vendor/github.com/go-openapi/runtime/README.md
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
# runtime [](https://travis-ci.org/go-openapi/runtime) [](https://codecov.io/gh/go-openapi/runtime) [](https://slackin.goswagger.io)
|
|
||||||
|
|
||||||
[](https://raw.githubusercontent.com/go-openapi/runtime/master/LICENSE) [](http://godoc.org/github.com/go-openapi/runtime)
|
|
||||||
|
|
||||||
# golang Open-API toolkit - runtime
|
|
||||||
|
|
||||||
The runtime component for use in codegeneration or as untyped usage.
|
|
155
vendor/github.com/go-openapi/runtime/bytestream.go
generated
vendored
155
vendor/github.com/go-openapi/runtime/bytestream.go
generated
vendored
@ -1,155 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package runtime
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"encoding"
|
|
||||||
"errors"
|
|
||||||
"fmt"
|
|
||||||
"io"
|
|
||||||
"reflect"
|
|
||||||
|
|
||||||
"github.com/go-openapi/swag"
|
|
||||||
)
|
|
||||||
|
|
||||||
func defaultCloser() error { return nil }
|
|
||||||
|
|
||||||
type byteStreamOpt func(opts *byteStreamOpts)
|
|
||||||
|
|
||||||
// ClosesStream when the bytestream consumer or producer is finished
|
|
||||||
func ClosesStream(opts *byteStreamOpts) {
|
|
||||||
opts.Close = true
|
|
||||||
}
|
|
||||||
|
|
||||||
type byteStreamOpts struct {
|
|
||||||
Close bool
|
|
||||||
}
|
|
||||||
|
|
||||||
// ByteStreamConsumer creates a consmer for byte streams,
|
|
||||||
// takes a Writer/BinaryUnmarshaler interface or binary slice by reference,
|
|
||||||
// and reads from the provided reader
|
|
||||||
func ByteStreamConsumer(opts ...byteStreamOpt) Consumer {
|
|
||||||
var vals byteStreamOpts
|
|
||||||
for _, opt := range opts {
|
|
||||||
opt(&vals)
|
|
||||||
}
|
|
||||||
|
|
||||||
return ConsumerFunc(func(reader io.Reader, data interface{}) error {
|
|
||||||
if reader == nil {
|
|
||||||
return errors.New("ByteStreamConsumer requires a reader") // early exit
|
|
||||||
}
|
|
||||||
|
|
||||||
close := defaultCloser
|
|
||||||
if vals.Close {
|
|
||||||
if cl, ok := reader.(io.Closer); ok {
|
|
||||||
close = cl.Close
|
|
||||||
}
|
|
||||||
}
|
|
||||||
defer close()
|
|
||||||
|
|
||||||
if wrtr, ok := data.(io.Writer); ok {
|
|
||||||
_, err := io.Copy(wrtr, reader)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
buf := new(bytes.Buffer)
|
|
||||||
_, err := buf.ReadFrom(reader)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
b := buf.Bytes()
|
|
||||||
|
|
||||||
if bu, ok := data.(encoding.BinaryUnmarshaler); ok {
|
|
||||||
return bu.UnmarshalBinary(b)
|
|
||||||
}
|
|
||||||
|
|
||||||
if t := reflect.TypeOf(data); data != nil && t.Kind() == reflect.Ptr {
|
|
||||||
v := reflect.Indirect(reflect.ValueOf(data))
|
|
||||||
if t = v.Type(); t.Kind() == reflect.Slice && t.Elem().Kind() == reflect.Uint8 {
|
|
||||||
v.SetBytes(b)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return fmt.Errorf("%v (%T) is not supported by the ByteStreamConsumer, %s",
|
|
||||||
data, data, "can be resolved by supporting Writer/BinaryUnmarshaler interface")
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// ByteStreamProducer creates a producer for byte streams,
|
|
||||||
// takes a Reader/BinaryMarshaler interface or binary slice,
|
|
||||||
// and writes to a writer (essentially a pipe)
|
|
||||||
func ByteStreamProducer(opts ...byteStreamOpt) Producer {
|
|
||||||
var vals byteStreamOpts
|
|
||||||
for _, opt := range opts {
|
|
||||||
opt(&vals)
|
|
||||||
}
|
|
||||||
return ProducerFunc(func(writer io.Writer, data interface{}) error {
|
|
||||||
if writer == nil {
|
|
||||||
return errors.New("ByteStreamProducer requires a writer") // early exit
|
|
||||||
}
|
|
||||||
close := defaultCloser
|
|
||||||
if vals.Close {
|
|
||||||
if cl, ok := writer.(io.Closer); ok {
|
|
||||||
close = cl.Close
|
|
||||||
}
|
|
||||||
}
|
|
||||||
defer close()
|
|
||||||
|
|
||||||
if rc, ok := data.(io.ReadCloser); ok {
|
|
||||||
defer rc.Close()
|
|
||||||
}
|
|
||||||
|
|
||||||
if rdr, ok := data.(io.Reader); ok {
|
|
||||||
_, err := io.Copy(writer, rdr)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
if bm, ok := data.(encoding.BinaryMarshaler); ok {
|
|
||||||
bytes, err := bm.MarshalBinary()
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
_, err = writer.Write(bytes)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
if data != nil {
|
|
||||||
if e, ok := data.(error); ok {
|
|
||||||
_, err := writer.Write([]byte(e.Error()))
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
v := reflect.Indirect(reflect.ValueOf(data))
|
|
||||||
if t := v.Type(); t.Kind() == reflect.Slice && t.Elem().Kind() == reflect.Uint8 {
|
|
||||||
_, err := writer.Write(v.Bytes())
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if t := v.Type(); t.Kind() == reflect.Struct || t.Kind() == reflect.Slice {
|
|
||||||
b, err := swag.WriteJSON(data)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
_, err = writer.Write(b)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return fmt.Errorf("%v (%T) is not supported by the ByteStreamProducer, %s",
|
|
||||||
data, data, "can be resolved by supporting Reader/BinaryMarshaler interface")
|
|
||||||
})
|
|
||||||
}
|
|
30
vendor/github.com/go-openapi/runtime/client_auth_info.go
generated
vendored
30
vendor/github.com/go-openapi/runtime/client_auth_info.go
generated
vendored
@ -1,30 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package runtime
|
|
||||||
|
|
||||||
import "github.com/go-openapi/strfmt"
|
|
||||||
|
|
||||||
// A ClientAuthInfoWriterFunc converts a function to a request writer interface
|
|
||||||
type ClientAuthInfoWriterFunc func(ClientRequest, strfmt.Registry) error
|
|
||||||
|
|
||||||
// AuthenticateRequest adds authentication data to the request
|
|
||||||
func (fn ClientAuthInfoWriterFunc) AuthenticateRequest(req ClientRequest, reg strfmt.Registry) error {
|
|
||||||
return fn(req, reg)
|
|
||||||
}
|
|
||||||
|
|
||||||
// A ClientAuthInfoWriter implementor knows how to write authentication info to a request
|
|
||||||
type ClientAuthInfoWriter interface {
|
|
||||||
AuthenticateRequest(ClientRequest, strfmt.Registry) error
|
|
||||||
}
|
|
41
vendor/github.com/go-openapi/runtime/client_operation.go
generated
vendored
41
vendor/github.com/go-openapi/runtime/client_operation.go
generated
vendored
@ -1,41 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package runtime
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"net/http"
|
|
||||||
)
|
|
||||||
|
|
||||||
// ClientOperation represents the context for a swagger operation to be submitted to the transport
|
|
||||||
type ClientOperation struct {
|
|
||||||
ID string
|
|
||||||
Method string
|
|
||||||
PathPattern string
|
|
||||||
ProducesMediaTypes []string
|
|
||||||
ConsumesMediaTypes []string
|
|
||||||
Schemes []string
|
|
||||||
AuthInfo ClientAuthInfoWriter
|
|
||||||
Params ClientRequestWriter
|
|
||||||
Reader ClientResponseReader
|
|
||||||
Context context.Context
|
|
||||||
Client *http.Client
|
|
||||||
}
|
|
||||||
|
|
||||||
// A ClientTransport implementor knows how to submit Request objects to some destination
|
|
||||||
type ClientTransport interface {
|
|
||||||
//Submit(string, RequestWriter, ResponseReader, AuthInfoWriter) (interface{}, error)
|
|
||||||
Submit(*ClientOperation) (interface{}, error)
|
|
||||||
}
|
|
103
vendor/github.com/go-openapi/runtime/client_request.go
generated
vendored
103
vendor/github.com/go-openapi/runtime/client_request.go
generated
vendored
@ -1,103 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package runtime
|
|
||||||
|
|
||||||
import (
|
|
||||||
"io"
|
|
||||||
"io/ioutil"
|
|
||||||
"net/http"
|
|
||||||
"net/url"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/go-openapi/strfmt"
|
|
||||||
)
|
|
||||||
|
|
||||||
// ClientRequestWriterFunc converts a function to a request writer interface
|
|
||||||
type ClientRequestWriterFunc func(ClientRequest, strfmt.Registry) error
|
|
||||||
|
|
||||||
// WriteToRequest adds data to the request
|
|
||||||
func (fn ClientRequestWriterFunc) WriteToRequest(req ClientRequest, reg strfmt.Registry) error {
|
|
||||||
return fn(req, reg)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ClientRequestWriter is an interface for things that know how to write to a request
|
|
||||||
type ClientRequestWriter interface {
|
|
||||||
WriteToRequest(ClientRequest, strfmt.Registry) error
|
|
||||||
}
|
|
||||||
|
|
||||||
// ClientRequest is an interface for things that know how to
|
|
||||||
// add information to a swagger client request
|
|
||||||
type ClientRequest interface {
|
|
||||||
SetHeaderParam(string, ...string) error
|
|
||||||
|
|
||||||
GetHeaderParams() http.Header
|
|
||||||
|
|
||||||
SetQueryParam(string, ...string) error
|
|
||||||
|
|
||||||
SetFormParam(string, ...string) error
|
|
||||||
|
|
||||||
SetPathParam(string, string) error
|
|
||||||
|
|
||||||
GetQueryParams() url.Values
|
|
||||||
|
|
||||||
SetFileParam(string, ...NamedReadCloser) error
|
|
||||||
|
|
||||||
SetBodyParam(interface{}) error
|
|
||||||
|
|
||||||
SetTimeout(time.Duration) error
|
|
||||||
|
|
||||||
GetMethod() string
|
|
||||||
|
|
||||||
GetPath() string
|
|
||||||
|
|
||||||
GetBody() []byte
|
|
||||||
|
|
||||||
GetBodyParam() interface{}
|
|
||||||
|
|
||||||
GetFileParam() map[string][]NamedReadCloser
|
|
||||||
}
|
|
||||||
|
|
||||||
// NamedReadCloser represents a named ReadCloser interface
|
|
||||||
type NamedReadCloser interface {
|
|
||||||
io.ReadCloser
|
|
||||||
Name() string
|
|
||||||
}
|
|
||||||
|
|
||||||
// NamedReader creates a NamedReadCloser for use as file upload
|
|
||||||
func NamedReader(name string, rdr io.Reader) NamedReadCloser {
|
|
||||||
rc, ok := rdr.(io.ReadCloser)
|
|
||||||
if !ok {
|
|
||||||
rc = ioutil.NopCloser(rdr)
|
|
||||||
}
|
|
||||||
return &namedReadCloser{
|
|
||||||
name: name,
|
|
||||||
cr: rc,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
type namedReadCloser struct {
|
|
||||||
name string
|
|
||||||
cr io.ReadCloser
|
|
||||||
}
|
|
||||||
|
|
||||||
func (n *namedReadCloser) Close() error {
|
|
||||||
return n.cr.Close()
|
|
||||||
}
|
|
||||||
func (n *namedReadCloser) Read(p []byte) (int, error) {
|
|
||||||
return n.cr.Read(p)
|
|
||||||
}
|
|
||||||
func (n *namedReadCloser) Name() string {
|
|
||||||
return n.name
|
|
||||||
}
|
|
63
vendor/github.com/go-openapi/runtime/client_response.go
generated
vendored
63
vendor/github.com/go-openapi/runtime/client_response.go
generated
vendored
@ -1,63 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package runtime
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"io"
|
|
||||||
)
|
|
||||||
|
|
||||||
// A ClientResponse represents a client response
|
|
||||||
// This bridges between responses obtained from different transports
|
|
||||||
type ClientResponse interface {
|
|
||||||
Code() int
|
|
||||||
Message() string
|
|
||||||
GetHeader(string) string
|
|
||||||
Body() io.ReadCloser
|
|
||||||
}
|
|
||||||
|
|
||||||
// A ClientResponseReaderFunc turns a function into a ClientResponseReader interface implementation
|
|
||||||
type ClientResponseReaderFunc func(ClientResponse, Consumer) (interface{}, error)
|
|
||||||
|
|
||||||
// ReadResponse reads the response
|
|
||||||
func (read ClientResponseReaderFunc) ReadResponse(resp ClientResponse, consumer Consumer) (interface{}, error) {
|
|
||||||
return read(resp, consumer)
|
|
||||||
}
|
|
||||||
|
|
||||||
// A ClientResponseReader is an interface for things want to read a response.
|
|
||||||
// An application of this is to create structs from response values
|
|
||||||
type ClientResponseReader interface {
|
|
||||||
ReadResponse(ClientResponse, Consumer) (interface{}, error)
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewAPIError creates a new API error
|
|
||||||
func NewAPIError(opName string, payload interface{}, code int) *APIError {
|
|
||||||
return &APIError{
|
|
||||||
OperationName: opName,
|
|
||||||
Response: payload,
|
|
||||||
Code: code,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// APIError wraps an error model and captures the status code
|
|
||||||
type APIError struct {
|
|
||||||
OperationName string
|
|
||||||
Response interface{}
|
|
||||||
Code int
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a *APIError) Error() string {
|
|
||||||
return fmt.Sprintf("%s (status %d): %+v ", a.OperationName, a.Code, a.Response)
|
|
||||||
}
|
|
47
vendor/github.com/go-openapi/runtime/constants.go
generated
vendored
47
vendor/github.com/go-openapi/runtime/constants.go
generated
vendored
@ -1,47 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package runtime
|
|
||||||
|
|
||||||
const (
|
|
||||||
// HeaderContentType represents a http content-type header, it's value is supposed to be a mime type
|
|
||||||
HeaderContentType = "Content-Type"
|
|
||||||
|
|
||||||
// HeaderTransferEncoding represents a http transfer-encoding header.
|
|
||||||
HeaderTransferEncoding = "Transfer-Encoding"
|
|
||||||
|
|
||||||
// HeaderAccept the Accept header
|
|
||||||
HeaderAccept = "Accept"
|
|
||||||
|
|
||||||
charsetKey = "charset"
|
|
||||||
|
|
||||||
// DefaultMime the default fallback mime type
|
|
||||||
DefaultMime = "application/octet-stream"
|
|
||||||
// JSONMime the json mime type
|
|
||||||
JSONMime = "application/json"
|
|
||||||
// YAMLMime the yaml mime type
|
|
||||||
YAMLMime = "application/x-yaml"
|
|
||||||
// XMLMime the xml mime type
|
|
||||||
XMLMime = "application/xml"
|
|
||||||
// TextMime the text mime type
|
|
||||||
TextMime = "text/plain"
|
|
||||||
// HTMLMime the html mime type
|
|
||||||
HTMLMime = "text/html"
|
|
||||||
// CSVMime the csv mime type
|
|
||||||
CSVMime = "text/csv"
|
|
||||||
// MultipartFormMime the multipart form mime type
|
|
||||||
MultipartFormMime = "multipart/form-data"
|
|
||||||
// URLencodedFormMime the url encoded form mime type
|
|
||||||
URLencodedFormMime = "application/x-www-form-urlencoded"
|
|
||||||
)
|
|
77
vendor/github.com/go-openapi/runtime/csv.go
generated
vendored
77
vendor/github.com/go-openapi/runtime/csv.go
generated
vendored
@ -1,77 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package runtime
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"encoding/csv"
|
|
||||||
"errors"
|
|
||||||
"io"
|
|
||||||
)
|
|
||||||
|
|
||||||
// CSVConsumer creates a new CSV consumer
|
|
||||||
func CSVConsumer() Consumer {
|
|
||||||
return ConsumerFunc(func(reader io.Reader, data interface{}) error {
|
|
||||||
if reader == nil {
|
|
||||||
return errors.New("CSVConsumer requires a reader")
|
|
||||||
}
|
|
||||||
|
|
||||||
csvReader := csv.NewReader(reader)
|
|
||||||
writer, ok := data.(io.Writer)
|
|
||||||
if !ok {
|
|
||||||
return errors.New("data type must be io.Writer")
|
|
||||||
}
|
|
||||||
csvWriter := csv.NewWriter(writer)
|
|
||||||
records, err := csvReader.ReadAll()
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
for _, r := range records {
|
|
||||||
if err := csvWriter.Write(r); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
csvWriter.Flush()
|
|
||||||
return nil
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// CSVProducer creates a new CSV producer
|
|
||||||
func CSVProducer() Producer {
|
|
||||||
return ProducerFunc(func(writer io.Writer, data interface{}) error {
|
|
||||||
if writer == nil {
|
|
||||||
return errors.New("CSVProducer requires a writer")
|
|
||||||
}
|
|
||||||
|
|
||||||
dataBytes, ok := data.([]byte)
|
|
||||||
if !ok {
|
|
||||||
return errors.New("data type must be byte array")
|
|
||||||
}
|
|
||||||
|
|
||||||
csvReader := csv.NewReader(bytes.NewBuffer(dataBytes))
|
|
||||||
records, err := csvReader.ReadAll()
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
csvWriter := csv.NewWriter(writer)
|
|
||||||
for _, r := range records {
|
|
||||||
if err := csvWriter.Write(r); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
csvWriter.Flush()
|
|
||||||
return nil
|
|
||||||
})
|
|
||||||
}
|
|
9
vendor/github.com/go-openapi/runtime/discard.go
generated
vendored
9
vendor/github.com/go-openapi/runtime/discard.go
generated
vendored
@ -1,9 +0,0 @@
|
|||||||
package runtime
|
|
||||||
|
|
||||||
import "io"
|
|
||||||
|
|
||||||
// DiscardConsumer does absolutely nothing, it's a black hole.
|
|
||||||
var DiscardConsumer = ConsumerFunc(func(_ io.Reader, _ interface{}) error { return nil })
|
|
||||||
|
|
||||||
// DiscardProducer does absolutely nothing, it's a black hole.
|
|
||||||
var DiscardProducer = ProducerFunc(func(_ io.Writer, _ interface{}) error { return nil })
|
|
33
vendor/github.com/go-openapi/runtime/file.go
generated
vendored
33
vendor/github.com/go-openapi/runtime/file.go
generated
vendored
@ -1,33 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package runtime
|
|
||||||
|
|
||||||
import "mime/multipart"
|
|
||||||
|
|
||||||
// File represents an uploaded file.
|
|
||||||
type File struct {
|
|
||||||
Data multipart.File
|
|
||||||
Header *multipart.FileHeader
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read bytes from the file
|
|
||||||
func (f *File) Read(p []byte) (n int, err error) {
|
|
||||||
return f.Data.Read(p)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Close the file
|
|
||||||
func (f *File) Close() error {
|
|
||||||
return f.Data.Close()
|
|
||||||
}
|
|
16
vendor/github.com/go-openapi/runtime/go.mod
generated
vendored
16
vendor/github.com/go-openapi/runtime/go.mod
generated
vendored
@ -1,16 +0,0 @@
|
|||||||
module github.com/go-openapi/runtime
|
|
||||||
|
|
||||||
require (
|
|
||||||
github.com/docker/go-units v0.4.0
|
|
||||||
github.com/go-openapi/analysis v0.19.2
|
|
||||||
github.com/go-openapi/errors v0.19.2
|
|
||||||
github.com/go-openapi/loads v0.19.2
|
|
||||||
github.com/go-openapi/spec v0.19.2
|
|
||||||
github.com/go-openapi/strfmt v0.19.0
|
|
||||||
github.com/go-openapi/swag v0.19.2
|
|
||||||
github.com/go-openapi/validate v0.19.2
|
|
||||||
github.com/stretchr/testify v1.3.0
|
|
||||||
golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56 // indirect
|
|
||||||
golang.org/x/tools v0.0.0-20190617190820-da514acc4774 // indirect
|
|
||||||
gopkg.in/yaml.v2 v2.2.2
|
|
||||||
)
|
|
133
vendor/github.com/go-openapi/runtime/go.sum
generated
vendored
133
vendor/github.com/go-openapi/runtime/go.sum
generated
vendored
@ -1,133 +0,0 @@
|
|||||||
github.com/PuerkitoBio/purell v1.1.0 h1:rmGxhojJlM0tuKtfdvliR84CFHljx9ag64t2xmVkjK4=
|
|
||||||
github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
|
|
||||||
github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
|
|
||||||
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
|
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
|
|
||||||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
|
|
||||||
github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf h1:eg0MeVzsP1G42dRafH3vf+al2vQIJU0YHX+1Tw87oco=
|
|
||||||
github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
|
|
||||||
github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA=
|
|
||||||
github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
|
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
|
||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
|
||||||
github.com/docker/go-units v0.3.3 h1:Xk8S3Xj5sLGlG5g67hJmYMmUgXv5N4PhkjJHHqrwnTk=
|
|
||||||
github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
|
|
||||||
github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw=
|
|
||||||
github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
|
|
||||||
github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
|
|
||||||
github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8 h1:DujepqpGd1hyOd7aW59XpK7Qymp8iy83xq74fLr21is=
|
|
||||||
github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
|
|
||||||
github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI=
|
|
||||||
github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
|
|
||||||
github.com/go-openapi/analysis v0.17.2 h1:eYp14J1o8TTSCzndHBtsNuckikV1PfZOSnx4BcBeu0c=
|
|
||||||
github.com/go-openapi/analysis v0.17.2/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
|
|
||||||
github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
|
|
||||||
github.com/go-openapi/analysis v0.19.2 h1:ophLETFestFZHk3ji7niPEL4d466QjW+0Tdg5VyDq7E=
|
|
||||||
github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
|
|
||||||
github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
|
|
||||||
github.com/go-openapi/errors v0.17.2 h1:azEQ8Fnx0jmtFF2fxsnmd6I0x6rsweUF63qqSO1NmKk=
|
|
||||||
github.com/go-openapi/errors v0.17.2/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
|
|
||||||
github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
|
|
||||||
github.com/go-openapi/errors v0.19.2 h1:a2kIyV3w+OS3S97zxUndRVD46+FhGOUBDFY7nmu4CsY=
|
|
||||||
github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
|
|
||||||
github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
|
|
||||||
github.com/go-openapi/jsonpointer v0.17.2 h1:3ekBy41gar/iJi2KSh/au/PrC2vpLr85upF/UZmm3W0=
|
|
||||||
github.com/go-openapi/jsonpointer v0.17.2/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
|
|
||||||
github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
|
|
||||||
github.com/go-openapi/jsonpointer v0.19.2 h1:A9+F4Dc/MCNB5jibxf6rRvOvR/iFgQdyNx9eIhnGqq0=
|
|
||||||
github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
|
|
||||||
github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
|
|
||||||
github.com/go-openapi/jsonreference v0.17.2 h1:lF3z7AH8dd0IKXc1zEBi1dj0B4XgVb5cVjn39dCK3Ls=
|
|
||||||
github.com/go-openapi/jsonreference v0.17.2/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
|
|
||||||
github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
|
|
||||||
github.com/go-openapi/jsonreference v0.19.2 h1:o20suLFB4Ri0tuzpWtyHlh7E7HnkqTNLq6aR6WVNS1w=
|
|
||||||
github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
|
|
||||||
github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
|
|
||||||
github.com/go-openapi/loads v0.17.2 h1:tEXYu6Xc0pevpzzQx5ghrMN9F7IVpN/+u4iD3rkYE5o=
|
|
||||||
github.com/go-openapi/loads v0.17.2/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
|
|
||||||
github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
|
|
||||||
github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
|
|
||||||
github.com/go-openapi/loads v0.19.2 h1:rf5ArTHmIJxyV5Oiks+Su0mUens1+AjpkPoWr5xFRcI=
|
|
||||||
github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs=
|
|
||||||
github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA=
|
|
||||||
github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64=
|
|
||||||
github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
|
|
||||||
github.com/go-openapi/spec v0.17.2 h1:eb2NbuCnoe8cWAxhtK6CfMWUYmiFEZJ9Hx3Z2WRwJ5M=
|
|
||||||
github.com/go-openapi/spec v0.17.2/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
|
|
||||||
github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
|
|
||||||
github.com/go-openapi/spec v0.19.2 h1:SStNd1jRcYtfKCN7R0laGNs80WYYvn5CbBjM2sOmCrE=
|
|
||||||
github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY=
|
|
||||||
github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
|
|
||||||
github.com/go-openapi/strfmt v0.17.2 h1:2KDns36DMHXG9/iYkOjiX+/8fKK9GCU5ELZ+J6qcRVA=
|
|
||||||
github.com/go-openapi/strfmt v0.17.2/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
|
|
||||||
github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
|
|
||||||
github.com/go-openapi/strfmt v0.19.0 h1:0Dn9qy1G9+UJfRU7TR8bmdGxb4uifB7HNrJjOnV0yPk=
|
|
||||||
github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY=
|
|
||||||
github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
|
|
||||||
github.com/go-openapi/swag v0.17.2 h1:K/ycE/XTUDFltNHSO32cGRUhrVGJD64o8WgAIZNyc3k=
|
|
||||||
github.com/go-openapi/swag v0.17.2/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
|
|
||||||
github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
|
|
||||||
github.com/go-openapi/swag v0.19.2 h1:jvO6bCMBEilGwMfHhrd61zIID4oIFdwb76V17SM88dE=
|
|
||||||
github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
|
|
||||||
github.com/go-openapi/validate v0.17.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4=
|
|
||||||
github.com/go-openapi/validate v0.17.2 h1:lwFfiS4sv5DvOrsYDsYq4N7UU8ghXiYtPJ+VcQnC3Xg=
|
|
||||||
github.com/go-openapi/validate v0.17.2/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4=
|
|
||||||
github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4=
|
|
||||||
github.com/go-openapi/validate v0.19.2 h1:ky5l57HjyVRrsJfd2+Ro5Z9PjGuKbsmftwyMtk8H7js=
|
|
||||||
github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA=
|
|
||||||
github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
|
||||||
github.com/google/uuid v1.1.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
|
||||||
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
|
||||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
|
||||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
|
||||||
github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
|
|
||||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
|
||||||
github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329 h1:2gxZ0XQIU/5z3Z3bUBu+FXuk2pFbkN6tcwi/pjyaDic=
|
|
||||||
github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
|
||||||
github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe h1:W/GaMY0y69G4cFlmsC6B9sbuo2fP8OFP1ABjt4kPz+w=
|
|
||||||
github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
|
||||||
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63 h1:nTT4s92Dgz2HlrB2NaMgvlfqHH39OgMhA7z3PK7PGD4=
|
|
||||||
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
|
||||||
github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
|
|
||||||
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
|
|
||||||
github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
|
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
|
||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
|
||||||
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
|
||||||
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
|
|
||||||
github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w=
|
|
||||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
|
||||||
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
|
|
||||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
|
||||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
|
||||||
golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
|
||||||
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
|
||||||
golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
|
||||||
golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
|
||||||
golang.org/x/net v0.0.0-20181201002055-351d144fa1fc h1:a3CU5tJYVj92DY2LaA1kUkrsqD5/3mLDhx2NcNqyW+0=
|
|
||||||
golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
|
||||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
|
||||||
golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53 h1:kcXqo9vE6fsZY5X5Rd7R1l7fTgnWaDCVmln65REefiE=
|
|
||||||
golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
|
||||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
|
||||||
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980 h1:dfGZHvZk057jK2MCeWus/TowKpJ8y4AmooUzdBSR9GU=
|
|
||||||
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
|
||||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
|
||||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
|
||||||
golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
|
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
|
||||||
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
|
|
||||||
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
|
||||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
|
||||||
golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
|
||||||
golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
|
||||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
|
||||||
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|
||||||
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
|
|
||||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|
45
vendor/github.com/go-openapi/runtime/headers.go
generated
vendored
45
vendor/github.com/go-openapi/runtime/headers.go
generated
vendored
@ -1,45 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package runtime
|
|
||||||
|
|
||||||
import (
|
|
||||||
"mime"
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"github.com/go-openapi/errors"
|
|
||||||
)
|
|
||||||
|
|
||||||
// ContentType parses a content type header
|
|
||||||
func ContentType(headers http.Header) (string, string, error) {
|
|
||||||
ct := headers.Get(HeaderContentType)
|
|
||||||
orig := ct
|
|
||||||
if ct == "" {
|
|
||||||
ct = DefaultMime
|
|
||||||
}
|
|
||||||
if ct == "" {
|
|
||||||
return "", "", nil
|
|
||||||
}
|
|
||||||
|
|
||||||
mt, opts, err := mime.ParseMediaType(ct)
|
|
||||||
if err != nil {
|
|
||||||
return "", "", errors.NewParseError(HeaderContentType, "header", orig, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if cs, ok := opts[charsetKey]; ok {
|
|
||||||
return mt, cs, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
return mt, "", nil
|
|
||||||
}
|
|
103
vendor/github.com/go-openapi/runtime/interfaces.go
generated
vendored
103
vendor/github.com/go-openapi/runtime/interfaces.go
generated
vendored
@ -1,103 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package runtime
|
|
||||||
|
|
||||||
import (
|
|
||||||
"io"
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"github.com/go-openapi/strfmt"
|
|
||||||
)
|
|
||||||
|
|
||||||
// OperationHandlerFunc an adapter for a function to the OperationHandler interface
|
|
||||||
type OperationHandlerFunc func(interface{}) (interface{}, error)
|
|
||||||
|
|
||||||
// Handle implements the operation handler interface
|
|
||||||
func (s OperationHandlerFunc) Handle(data interface{}) (interface{}, error) {
|
|
||||||
return s(data)
|
|
||||||
}
|
|
||||||
|
|
||||||
// OperationHandler a handler for a swagger operation
|
|
||||||
type OperationHandler interface {
|
|
||||||
Handle(interface{}) (interface{}, error)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ConsumerFunc represents a function that can be used as a consumer
|
|
||||||
type ConsumerFunc func(io.Reader, interface{}) error
|
|
||||||
|
|
||||||
// Consume consumes the reader into the data parameter
|
|
||||||
func (fn ConsumerFunc) Consume(reader io.Reader, data interface{}) error {
|
|
||||||
return fn(reader, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Consumer implementations know how to bind the values on the provided interface to
|
|
||||||
// data provided by the request body
|
|
||||||
type Consumer interface {
|
|
||||||
// Consume performs the binding of request values
|
|
||||||
Consume(io.Reader, interface{}) error
|
|
||||||
}
|
|
||||||
|
|
||||||
// ProducerFunc represents a function that can be used as a producer
|
|
||||||
type ProducerFunc func(io.Writer, interface{}) error
|
|
||||||
|
|
||||||
// Produce produces the response for the provided data
|
|
||||||
func (f ProducerFunc) Produce(writer io.Writer, data interface{}) error {
|
|
||||||
return f(writer, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Producer implementations know how to turn the provided interface into a valid
|
|
||||||
// HTTP response
|
|
||||||
type Producer interface {
|
|
||||||
// Produce writes to the http response
|
|
||||||
Produce(io.Writer, interface{}) error
|
|
||||||
}
|
|
||||||
|
|
||||||
// AuthenticatorFunc turns a function into an authenticator
|
|
||||||
type AuthenticatorFunc func(interface{}) (bool, interface{}, error)
|
|
||||||
|
|
||||||
// Authenticate authenticates the request with the provided data
|
|
||||||
func (f AuthenticatorFunc) Authenticate(params interface{}) (bool, interface{}, error) {
|
|
||||||
return f(params)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Authenticator represents an authentication strategy
|
|
||||||
// implementations of Authenticator know how to authenticate the
|
|
||||||
// request data and translate that into a valid principal object or an error
|
|
||||||
type Authenticator interface {
|
|
||||||
Authenticate(interface{}) (bool, interface{}, error)
|
|
||||||
}
|
|
||||||
|
|
||||||
// AuthorizerFunc turns a function into an authorizer
|
|
||||||
type AuthorizerFunc func(*http.Request, interface{}) error
|
|
||||||
|
|
||||||
// Authorize authorizes the processing of the request for the principal
|
|
||||||
func (f AuthorizerFunc) Authorize(r *http.Request, principal interface{}) error {
|
|
||||||
return f(r, principal)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Authorizer represents an authorization strategy
|
|
||||||
// implementations of Authorizer know how to authorize the principal object
|
|
||||||
// using the request data and returns error if unauthorized
|
|
||||||
type Authorizer interface {
|
|
||||||
Authorize(*http.Request, interface{}) error
|
|
||||||
}
|
|
||||||
|
|
||||||
// Validatable types implementing this interface allow customizing their validation
|
|
||||||
// this will be used instead of the reflective validation based on the spec document.
|
|
||||||
// the implementations are assumed to have been generated by the swagger tool so they should
|
|
||||||
// contain all the validations obtained from the spec
|
|
||||||
type Validatable interface {
|
|
||||||
Validate(strfmt.Registry) error
|
|
||||||
}
|
|
38
vendor/github.com/go-openapi/runtime/json.go
generated
vendored
38
vendor/github.com/go-openapi/runtime/json.go
generated
vendored
@ -1,38 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package runtime
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/json"
|
|
||||||
"io"
|
|
||||||
)
|
|
||||||
|
|
||||||
// JSONConsumer creates a new JSON consumer
|
|
||||||
func JSONConsumer() Consumer {
|
|
||||||
return ConsumerFunc(func(reader io.Reader, data interface{}) error {
|
|
||||||
dec := json.NewDecoder(reader)
|
|
||||||
dec.UseNumber() // preserve number formats
|
|
||||||
return dec.Decode(data)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// JSONProducer creates a new JSON producer
|
|
||||||
func JSONProducer() Producer {
|
|
||||||
return ProducerFunc(func(writer io.Writer, data interface{}) error {
|
|
||||||
enc := json.NewEncoder(writer)
|
|
||||||
enc.SetEscapeHTML(false)
|
|
||||||
return enc.Encode(data)
|
|
||||||
})
|
|
||||||
}
|
|
139
vendor/github.com/go-openapi/runtime/request.go
generated
vendored
139
vendor/github.com/go-openapi/runtime/request.go
generated
vendored
@ -1,139 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package runtime
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bufio"
|
|
||||||
"io"
|
|
||||||
"net/http"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"github.com/go-openapi/swag"
|
|
||||||
)
|
|
||||||
|
|
||||||
// CanHaveBody returns true if this method can have a body
|
|
||||||
func CanHaveBody(method string) bool {
|
|
||||||
mn := strings.ToUpper(method)
|
|
||||||
return mn == "POST" || mn == "PUT" || mn == "PATCH" || mn == "DELETE"
|
|
||||||
}
|
|
||||||
|
|
||||||
// IsSafe returns true if this is a request with a safe method
|
|
||||||
func IsSafe(r *http.Request) bool {
|
|
||||||
mn := strings.ToUpper(r.Method)
|
|
||||||
return mn == "GET" || mn == "HEAD"
|
|
||||||
}
|
|
||||||
|
|
||||||
// AllowsBody returns true if the request allows for a body
|
|
||||||
func AllowsBody(r *http.Request) bool {
|
|
||||||
mn := strings.ToUpper(r.Method)
|
|
||||||
return mn != "HEAD"
|
|
||||||
}
|
|
||||||
|
|
||||||
// HasBody returns true if this method needs a content-type
|
|
||||||
func HasBody(r *http.Request) bool {
|
|
||||||
// happy case: we have a content length set
|
|
||||||
if r.ContentLength > 0 {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
if r.Header.Get(http.CanonicalHeaderKey("content-length")) != "" {
|
|
||||||
// in this case, no Transfer-Encoding should be present
|
|
||||||
// we have a header set but it was explicitly set to 0, so we assume no body
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
rdr := newPeekingReader(r.Body)
|
|
||||||
r.Body = rdr
|
|
||||||
return rdr.HasContent()
|
|
||||||
}
|
|
||||||
|
|
||||||
func newPeekingReader(r io.ReadCloser) *peekingReader {
|
|
||||||
if r == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
return &peekingReader{
|
|
||||||
underlying: bufio.NewReader(r),
|
|
||||||
orig: r,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
type peekingReader struct {
|
|
||||||
underlying interface {
|
|
||||||
Buffered() int
|
|
||||||
Peek(int) ([]byte, error)
|
|
||||||
Read([]byte) (int, error)
|
|
||||||
}
|
|
||||||
orig io.ReadCloser
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p *peekingReader) HasContent() bool {
|
|
||||||
if p == nil {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
if p.underlying.Buffered() > 0 {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
b, err := p.underlying.Peek(1)
|
|
||||||
if err != nil {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
return len(b) > 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p *peekingReader) Read(d []byte) (int, error) {
|
|
||||||
if p == nil {
|
|
||||||
return 0, io.EOF
|
|
||||||
}
|
|
||||||
return p.underlying.Read(d)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p *peekingReader) Close() error {
|
|
||||||
p.underlying = nil
|
|
||||||
if p.orig != nil {
|
|
||||||
return p.orig.Close()
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// JSONRequest creates a new http request with json headers set
|
|
||||||
func JSONRequest(method, urlStr string, body io.Reader) (*http.Request, error) {
|
|
||||||
req, err := http.NewRequest(method, urlStr, body)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
req.Header.Add(HeaderContentType, JSONMime)
|
|
||||||
req.Header.Add(HeaderAccept, JSONMime)
|
|
||||||
return req, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Gettable for things with a method GetOK(string) (data string, hasKey bool, hasValue bool)
|
|
||||||
type Gettable interface {
|
|
||||||
GetOK(string) ([]string, bool, bool)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ReadSingleValue reads a single value from the source
|
|
||||||
func ReadSingleValue(values Gettable, name string) string {
|
|
||||||
vv, _, hv := values.GetOK(name)
|
|
||||||
if hv {
|
|
||||||
return vv[len(vv)-1]
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
// ReadCollectionValue reads a collection value from a string data source
|
|
||||||
func ReadCollectionValue(values Gettable, name, collectionFormat string) []string {
|
|
||||||
v := ReadSingleValue(values, name)
|
|
||||||
return swag.SplitByFormat(v, collectionFormat)
|
|
||||||
}
|
|
90
vendor/github.com/go-openapi/runtime/statuses.go
generated
vendored
90
vendor/github.com/go-openapi/runtime/statuses.go
generated
vendored
@ -1,90 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package runtime
|
|
||||||
|
|
||||||
// Statuses lists the most common HTTP status codes to default message
|
|
||||||
// taken from https://httpstatuses.com/
|
|
||||||
var Statuses = map[int]string{
|
|
||||||
100: "Continue",
|
|
||||||
101: "Switching Protocols",
|
|
||||||
102: "Processing",
|
|
||||||
103: "Checkpoint",
|
|
||||||
122: "URI too long",
|
|
||||||
200: "OK",
|
|
||||||
201: "Created",
|
|
||||||
202: "Accepted",
|
|
||||||
203: "Request Processed",
|
|
||||||
204: "No Content",
|
|
||||||
205: "Reset Content",
|
|
||||||
206: "Partial Content",
|
|
||||||
207: "Multi-Status",
|
|
||||||
208: "Already Reported",
|
|
||||||
226: "IM Used",
|
|
||||||
300: "Multiple Choices",
|
|
||||||
301: "Moved Permanently",
|
|
||||||
302: "Found",
|
|
||||||
303: "See Other",
|
|
||||||
304: "Not Modified",
|
|
||||||
305: "Use Proxy",
|
|
||||||
306: "Switch Proxy",
|
|
||||||
307: "Temporary Redirect",
|
|
||||||
308: "Permanent Redirect",
|
|
||||||
400: "Bad Request",
|
|
||||||
401: "Unauthorized",
|
|
||||||
402: "Payment Required",
|
|
||||||
403: "Forbidden",
|
|
||||||
404: "Not Found",
|
|
||||||
405: "Method Not Allowed",
|
|
||||||
406: "Not Acceptable",
|
|
||||||
407: "Proxy Authentication Required",
|
|
||||||
408: "Request Timeout",
|
|
||||||
409: "Conflict",
|
|
||||||
410: "Gone",
|
|
||||||
411: "Length Required",
|
|
||||||
412: "Precondition Failed",
|
|
||||||
413: "Request Entity Too Large",
|
|
||||||
414: "Request-URI Too Long",
|
|
||||||
415: "Unsupported Media Type",
|
|
||||||
416: "Request Range Not Satisfiable",
|
|
||||||
417: "Expectation Failed",
|
|
||||||
418: "I'm a teapot",
|
|
||||||
420: "Enhance Your Calm",
|
|
||||||
422: "Unprocessable Entity",
|
|
||||||
423: "Locked",
|
|
||||||
424: "Failed Dependency",
|
|
||||||
426: "Upgrade Required",
|
|
||||||
428: "Precondition Required",
|
|
||||||
429: "Too Many Requests",
|
|
||||||
431: "Request Header Fields Too Large",
|
|
||||||
444: "No Response",
|
|
||||||
449: "Retry With",
|
|
||||||
450: "Blocked by Windows Parental Controls",
|
|
||||||
451: "Wrong Exchange Server",
|
|
||||||
499: "Client Closed Request",
|
|
||||||
500: "Internal Server Error",
|
|
||||||
501: "Not Implemented",
|
|
||||||
502: "Bad Gateway",
|
|
||||||
503: "Service Unavailable",
|
|
||||||
504: "Gateway Timeout",
|
|
||||||
505: "HTTP Version Not Supported",
|
|
||||||
506: "Variant Also Negotiates",
|
|
||||||
507: "Insufficient Storage",
|
|
||||||
508: "Loop Detected",
|
|
||||||
509: "Bandwidth Limit Exceeded",
|
|
||||||
510: "Not Extended",
|
|
||||||
511: "Network Authentication Required",
|
|
||||||
598: "Network read timeout error",
|
|
||||||
599: "Network connect timeout error",
|
|
||||||
}
|
|
117
vendor/github.com/go-openapi/runtime/text.go
generated
vendored
117
vendor/github.com/go-openapi/runtime/text.go
generated
vendored
@ -1,117 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package runtime
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"encoding"
|
|
||||||
"errors"
|
|
||||||
"fmt"
|
|
||||||
"io"
|
|
||||||
"reflect"
|
|
||||||
|
|
||||||
"github.com/go-openapi/swag"
|
|
||||||
)
|
|
||||||
|
|
||||||
// TextConsumer creates a new text consumer
|
|
||||||
func TextConsumer() Consumer {
|
|
||||||
return ConsumerFunc(func(reader io.Reader, data interface{}) error {
|
|
||||||
if reader == nil {
|
|
||||||
return errors.New("TextConsumer requires a reader") // early exit
|
|
||||||
}
|
|
||||||
|
|
||||||
buf := new(bytes.Buffer)
|
|
||||||
_, err := buf.ReadFrom(reader)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
b := buf.Bytes()
|
|
||||||
|
|
||||||
// If the buffer is empty, no need to unmarshal it, which causes a panic.
|
|
||||||
if len(b) == 0 {
|
|
||||||
data = ""
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
if tu, ok := data.(encoding.TextUnmarshaler); ok {
|
|
||||||
err := tu.UnmarshalText(b)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("text consumer: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
t := reflect.TypeOf(data)
|
|
||||||
if data != nil && t.Kind() == reflect.Ptr {
|
|
||||||
v := reflect.Indirect(reflect.ValueOf(data))
|
|
||||||
if t.Elem().Kind() == reflect.String {
|
|
||||||
v.SetString(string(b))
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return fmt.Errorf("%v (%T) is not supported by the TextConsumer, %s",
|
|
||||||
data, data, "can be resolved by supporting TextUnmarshaler interface")
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// TextProducer creates a new text producer
|
|
||||||
func TextProducer() Producer {
|
|
||||||
return ProducerFunc(func(writer io.Writer, data interface{}) error {
|
|
||||||
if writer == nil {
|
|
||||||
return errors.New("TextProducer requires a writer") // early exit
|
|
||||||
}
|
|
||||||
|
|
||||||
if data == nil {
|
|
||||||
return errors.New("no data given to produce text from")
|
|
||||||
}
|
|
||||||
|
|
||||||
if tm, ok := data.(encoding.TextMarshaler); ok {
|
|
||||||
txt, err := tm.MarshalText()
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("text producer: %v", err)
|
|
||||||
}
|
|
||||||
_, err = writer.Write(txt)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
if str, ok := data.(error); ok {
|
|
||||||
_, err := writer.Write([]byte(str.Error()))
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
if str, ok := data.(fmt.Stringer); ok {
|
|
||||||
_, err := writer.Write([]byte(str.String()))
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
v := reflect.Indirect(reflect.ValueOf(data))
|
|
||||||
if t := v.Type(); t.Kind() == reflect.Struct || t.Kind() == reflect.Slice {
|
|
||||||
b, err := swag.WriteJSON(data)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
_, err = writer.Write(b)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if v.Kind() != reflect.String {
|
|
||||||
return fmt.Errorf("%T is not a supported type by the TextProducer", data)
|
|
||||||
}
|
|
||||||
|
|
||||||
_, err := writer.Write([]byte(v.String()))
|
|
||||||
return err
|
|
||||||
})
|
|
||||||
}
|
|
19
vendor/github.com/go-openapi/runtime/values.go
generated
vendored
19
vendor/github.com/go-openapi/runtime/values.go
generated
vendored
@ -1,19 +0,0 @@
|
|||||||
package runtime
|
|
||||||
|
|
||||||
// Values typically represent parameters on a http request.
|
|
||||||
type Values map[string][]string
|
|
||||||
|
|
||||||
// GetOK returns the values collection for the given key.
|
|
||||||
// When the key is present in the map it will return true for hasKey.
|
|
||||||
// When the value is not empty it will return true for hasValue.
|
|
||||||
func (v Values) GetOK(key string) (value []string, hasKey bool, hasValue bool) {
|
|
||||||
value, hasKey = v[key]
|
|
||||||
if !hasKey {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if len(value) == 0 {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
hasValue = true
|
|
||||||
return
|
|
||||||
}
|
|
36
vendor/github.com/go-openapi/runtime/xml.go
generated
vendored
36
vendor/github.com/go-openapi/runtime/xml.go
generated
vendored
@ -1,36 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package runtime
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/xml"
|
|
||||||
"io"
|
|
||||||
)
|
|
||||||
|
|
||||||
// XMLConsumer creates a new XML consumer
|
|
||||||
func XMLConsumer() Consumer {
|
|
||||||
return ConsumerFunc(func(reader io.Reader, data interface{}) error {
|
|
||||||
dec := xml.NewDecoder(reader)
|
|
||||||
return dec.Decode(data)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// XMLProducer creates a new XML producer
|
|
||||||
func XMLProducer() Producer {
|
|
||||||
return ProducerFunc(func(writer io.Writer, data interface{}) error {
|
|
||||||
enc := xml.NewEncoder(writer)
|
|
||||||
return enc.Encode(data)
|
|
||||||
})
|
|
||||||
}
|
|
26
vendor/github.com/go-openapi/strfmt/.editorconfig
generated
vendored
26
vendor/github.com/go-openapi/strfmt/.editorconfig
generated
vendored
@ -1,26 +0,0 @@
|
|||||||
# top-most EditorConfig file
|
|
||||||
root = true
|
|
||||||
|
|
||||||
# Unix-style newlines with a newline ending every file
|
|
||||||
[*]
|
|
||||||
end_of_line = lf
|
|
||||||
insert_final_newline = true
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 2
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
|
|
||||||
# Set default charset
|
|
||||||
[*.{js,py,go,scala,rb,java,html,css,less,sass,md}]
|
|
||||||
charset = utf-8
|
|
||||||
|
|
||||||
# Tab indentation (no size specified)
|
|
||||||
[*.go]
|
|
||||||
indent_style = tab
|
|
||||||
|
|
||||||
[*.md]
|
|
||||||
trim_trailing_whitespace = false
|
|
||||||
|
|
||||||
# Matches the exact files either package.json or .travis.yml
|
|
||||||
[{package.json,.travis.yml}]
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 2
|
|
2
vendor/github.com/go-openapi/strfmt/.gitignore
generated
vendored
2
vendor/github.com/go-openapi/strfmt/.gitignore
generated
vendored
@ -1,2 +0,0 @@
|
|||||||
secrets.yml
|
|
||||||
coverage.out
|
|
30
vendor/github.com/go-openapi/strfmt/.golangci.yml
generated
vendored
30
vendor/github.com/go-openapi/strfmt/.golangci.yml
generated
vendored
@ -1,30 +0,0 @@
|
|||||||
linters-settings:
|
|
||||||
govet:
|
|
||||||
check-shadowing: true
|
|
||||||
golint:
|
|
||||||
min-confidence: 0
|
|
||||||
gocyclo:
|
|
||||||
min-complexity: 31
|
|
||||||
maligned:
|
|
||||||
suggest-new: true
|
|
||||||
dupl:
|
|
||||||
threshold: 100
|
|
||||||
goconst:
|
|
||||||
min-len: 2
|
|
||||||
min-occurrences: 4
|
|
||||||
|
|
||||||
linters:
|
|
||||||
enable-all: true
|
|
||||||
disable:
|
|
||||||
- maligned
|
|
||||||
- lll
|
|
||||||
- gochecknoinits
|
|
||||||
- gochecknoglobals
|
|
||||||
|
|
||||||
issues:
|
|
||||||
exclude-rules:
|
|
||||||
- path: bson.go
|
|
||||||
text: "should be .*ObjectID"
|
|
||||||
linters:
|
|
||||||
- golint
|
|
||||||
|
|
15
vendor/github.com/go-openapi/strfmt/.travis.yml
generated
vendored
15
vendor/github.com/go-openapi/strfmt/.travis.yml
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
after_success:
|
|
||||||
- bash <(curl -s https://codecov.io/bash)
|
|
||||||
go:
|
|
||||||
- 1.11.x
|
|
||||||
- 1.12.x
|
|
||||||
install:
|
|
||||||
- GO111MODULE=off go get -u gotest.tools/gotestsum
|
|
||||||
language: go
|
|
||||||
env:
|
|
||||||
- GO111MODULE=on
|
|
||||||
notifications:
|
|
||||||
slack:
|
|
||||||
secure: zE5AtIYTpYfQPnTzP+EaQPN7JKtfFAGv6PrJqoIZLOXa8B6zGb6+J1JRNNxWi7faWbyJOxa4FSSsuPsKZMycUK6wlLFIdhDxwqeo7Ew8r6rdZKdfUHQggfNS9wO79ARoNYUDHtmnaBUS+eWSM1YqSc4i99QxyyfuURLOeAaA/q14YbdlTlaw3lrZ0qT92ot1FnVGNOx064zuHtFeUf+jAVRMZ6Q3rvqllwIlPszE6rmHGXBt2VoJxRaBetdwd7FgkcYw9FPXKHhadwC7/75ZAdmxIukhxNMw4Tr5NuPcqNcnbYLenDP7B3lssGVIrP4BRSqekS1d/tqvdvnnFWHMwrNCkSnSc065G5+qWTlXKAemIclgiXXqE2furBNLm05MDdG8fn5epS0UNarkjD+zX336RiqwBlOX4KbF+vPyqcO98CsN0lnd+H6loc9reiTHs37orFFpQ+309av9be2GGsHUsRB9ssIyrewmhAccOmkRtr2dVTZJNFQwa5Kph5TNJuTjnZEwG/xUkEX2YSfwShOsb062JWiflV6PJdnl80pc9Tn7D5sO5Bf9DbijGRJwwP+YiiJtwtr+vsvS+n4sM0b5eqm4UoRo+JJO8ffoJtHS7ItuyRbVQCwEPJ4221WLcf5PquEEDdAPwR+K4Gj8qTXqTDdxOiES1xFUKVgmzhI=
|
|
||||||
script:
|
|
||||||
- gotestsum -f short-verbose -- -race -coverprofile=coverage.txt -covermode=atomic ./...
|
|
74
vendor/github.com/go-openapi/strfmt/CODE_OF_CONDUCT.md
generated
vendored
74
vendor/github.com/go-openapi/strfmt/CODE_OF_CONDUCT.md
generated
vendored
@ -1,74 +0,0 @@
|
|||||||
# Contributor Covenant Code of Conduct
|
|
||||||
|
|
||||||
## Our Pledge
|
|
||||||
|
|
||||||
In the interest of fostering an open and welcoming environment, we as
|
|
||||||
contributors and maintainers pledge to making participation in our project and
|
|
||||||
our community a harassment-free experience for everyone, regardless of age, body
|
|
||||||
size, disability, ethnicity, gender identity and expression, level of experience,
|
|
||||||
nationality, personal appearance, race, religion, or sexual identity and
|
|
||||||
orientation.
|
|
||||||
|
|
||||||
## Our Standards
|
|
||||||
|
|
||||||
Examples of behavior that contributes to creating a positive environment
|
|
||||||
include:
|
|
||||||
|
|
||||||
* Using welcoming and inclusive language
|
|
||||||
* Being respectful of differing viewpoints and experiences
|
|
||||||
* Gracefully accepting constructive criticism
|
|
||||||
* Focusing on what is best for the community
|
|
||||||
* Showing empathy towards other community members
|
|
||||||
|
|
||||||
Examples of unacceptable behavior by participants include:
|
|
||||||
|
|
||||||
* The use of sexualized language or imagery and unwelcome sexual attention or
|
|
||||||
advances
|
|
||||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
|
||||||
* Public or private harassment
|
|
||||||
* Publishing others' private information, such as a physical or electronic
|
|
||||||
address, without explicit permission
|
|
||||||
* Other conduct which could reasonably be considered inappropriate in a
|
|
||||||
professional setting
|
|
||||||
|
|
||||||
## Our Responsibilities
|
|
||||||
|
|
||||||
Project maintainers are responsible for clarifying the standards of acceptable
|
|
||||||
behavior and are expected to take appropriate and fair corrective action in
|
|
||||||
response to any instances of unacceptable behavior.
|
|
||||||
|
|
||||||
Project maintainers have the right and responsibility to remove, edit, or
|
|
||||||
reject comments, commits, code, wiki edits, issues, and other contributions
|
|
||||||
that are not aligned to this Code of Conduct, or to ban temporarily or
|
|
||||||
permanently any contributor for other behaviors that they deem inappropriate,
|
|
||||||
threatening, offensive, or harmful.
|
|
||||||
|
|
||||||
## Scope
|
|
||||||
|
|
||||||
This Code of Conduct applies both within project spaces and in public spaces
|
|
||||||
when an individual is representing the project or its community. Examples of
|
|
||||||
representing a project or community include using an official project e-mail
|
|
||||||
address, posting via an official social media account, or acting as an appointed
|
|
||||||
representative at an online or offline event. Representation of a project may be
|
|
||||||
further defined and clarified by project maintainers.
|
|
||||||
|
|
||||||
## Enforcement
|
|
||||||
|
|
||||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
|
||||||
reported by contacting the project team at ivan+abuse@flanders.co.nz. All
|
|
||||||
complaints will be reviewed and investigated and will result in a response that
|
|
||||||
is deemed necessary and appropriate to the circumstances. The project team is
|
|
||||||
obligated to maintain confidentiality with regard to the reporter of an incident.
|
|
||||||
Further details of specific enforcement policies may be posted separately.
|
|
||||||
|
|
||||||
Project maintainers who do not follow or enforce the Code of Conduct in good
|
|
||||||
faith may face temporary or permanent repercussions as determined by other
|
|
||||||
members of the project's leadership.
|
|
||||||
|
|
||||||
## Attribution
|
|
||||||
|
|
||||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
|
||||||
available at [http://contributor-covenant.org/version/1/4][version]
|
|
||||||
|
|
||||||
[homepage]: http://contributor-covenant.org
|
|
||||||
[version]: http://contributor-covenant.org/version/1/4/
|
|
202
vendor/github.com/go-openapi/strfmt/LICENSE
generated
vendored
202
vendor/github.com/go-openapi/strfmt/LICENSE
generated
vendored
@ -1,202 +0,0 @@
|
|||||||
|
|
||||||
Apache License
|
|
||||||
Version 2.0, January 2004
|
|
||||||
http://www.apache.org/licenses/
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
||||||
|
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by
|
|
||||||
the copyright owner that is granting the License.
|
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all
|
|
||||||
other entities that control, are controlled by, or are under common
|
|
||||||
control with that entity. For the purposes of this definition,
|
|
||||||
"control" means (i) the power, direct or indirect, to cause the
|
|
||||||
direction or management of such entity, whether by contract or
|
|
||||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity
|
|
||||||
exercising permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications,
|
|
||||||
including but not limited to software source code, documentation
|
|
||||||
source, and configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical
|
|
||||||
transformation or translation of a Source form, including but
|
|
||||||
not limited to compiled object code, generated documentation,
|
|
||||||
and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or
|
|
||||||
Object form, made available under the License, as indicated by a
|
|
||||||
copyright notice that is included in or attached to the work
|
|
||||||
(an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object
|
|
||||||
form, that is based on (or derived from) the Work and for which the
|
|
||||||
editorial revisions, annotations, elaborations, or other modifications
|
|
||||||
represent, as a whole, an original work of authorship. For the purposes
|
|
||||||
of this License, Derivative Works shall not include works that remain
|
|
||||||
separable from, or merely link (or bind by name) to the interfaces of,
|
|
||||||
the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including
|
|
||||||
the original version of the Work and any modifications or additions
|
|
||||||
to that Work or Derivative Works thereof, that is intentionally
|
|
||||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
||||||
or by an individual or Legal Entity authorized to submit on behalf of
|
|
||||||
the copyright owner. For the purposes of this definition, "submitted"
|
|
||||||
means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems,
|
|
||||||
and issue tracking systems that are managed by, or on behalf of, the
|
|
||||||
Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise
|
|
||||||
designated in writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
||||||
on behalf of whom a Contribution has been received by Licensor and
|
|
||||||
subsequently incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the
|
|
||||||
Work and such Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
(except as stated in this section) patent license to make, have made,
|
|
||||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
||||||
where such license applies only to those patent claims licensable
|
|
||||||
by such Contributor that are necessarily infringed by their
|
|
||||||
Contribution(s) alone or by combination of their Contribution(s)
|
|
||||||
with the Work to which such Contribution(s) was submitted. If You
|
|
||||||
institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
||||||
or a Contribution incorporated within the Work constitutes direct
|
|
||||||
or contributory patent infringement, then any patent licenses
|
|
||||||
granted to You under this License for that Work shall terminate
|
|
||||||
as of the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the
|
|
||||||
Work or Derivative Works thereof in any medium, with or without
|
|
||||||
modifications, and in Source or Object form, provided that You
|
|
||||||
meet the following conditions:
|
|
||||||
|
|
||||||
(a) You must give any other recipients of the Work or
|
|
||||||
Derivative Works a copy of this License; and
|
|
||||||
|
|
||||||
(b) You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and
|
|
||||||
|
|
||||||
(c) You must retain, in the Source form of any Derivative Works
|
|
||||||
that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work,
|
|
||||||
excluding those notices that do not pertain to any part of
|
|
||||||
the Derivative Works; and
|
|
||||||
|
|
||||||
(d) If the Work includes a "NOTICE" text file as part of its
|
|
||||||
distribution, then any Derivative Works that You distribute must
|
|
||||||
include a readable copy of the attribution notices contained
|
|
||||||
within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one
|
|
||||||
of the following places: within a NOTICE text file distributed
|
|
||||||
as part of the Derivative Works; within the Source form or
|
|
||||||
documentation, if provided along with the Derivative Works; or,
|
|
||||||
within a display generated by the Derivative Works, if and
|
|
||||||
wherever such third-party notices normally appear. The contents
|
|
||||||
of the NOTICE file are for informational purposes only and
|
|
||||||
do not modify the License. You may add Your own attribution
|
|
||||||
notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided
|
|
||||||
that such additional attribution notices cannot be construed
|
|
||||||
as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and
|
|
||||||
may provide additional or different license terms and conditions
|
|
||||||
for use, reproduction, or distribution of Your modifications, or
|
|
||||||
for any such Derivative Works as a whole, provided Your use,
|
|
||||||
reproduction, and distribution of the Work otherwise complies with
|
|
||||||
the conditions stated in this License.
|
|
||||||
|
|
||||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
||||||
any Contribution intentionally submitted for inclusion in the Work
|
|
||||||
by You to the Licensor shall be under the terms and conditions of
|
|
||||||
this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify
|
|
||||||
the terms of any separate license agreement you may have executed
|
|
||||||
with Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor,
|
|
||||||
except as required for reasonable and customary use in describing the
|
|
||||||
origin of the Work and reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
||||||
agreed to in writing, Licensor provides the Work (and each
|
|
||||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
||||||
implied, including, without limitation, any warranties or conditions
|
|
||||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any
|
|
||||||
risks associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory,
|
|
||||||
whether in tort (including negligence), contract, or otherwise,
|
|
||||||
unless required by applicable law (such as deliberate and grossly
|
|
||||||
negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special,
|
|
||||||
incidental, or consequential damages of any character arising as a
|
|
||||||
result of this License or out of the use or inability to use the
|
|
||||||
Work (including but not limited to damages for loss of goodwill,
|
|
||||||
work stoppage, computer failure or malfunction, or any and all
|
|
||||||
other commercial damages or losses), even if such Contributor
|
|
||||||
has been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing
|
|
||||||
the Work or Derivative Works thereof, You may choose to offer,
|
|
||||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
||||||
or other liability obligations and/or rights consistent with this
|
|
||||||
License. However, in accepting such obligations, You may act only
|
|
||||||
on Your own behalf and on Your sole responsibility, not on behalf
|
|
||||||
of any other Contributor, and only if You agree to indemnify,
|
|
||||||
defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason
|
|
||||||
of your accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
APPENDIX: How to apply the Apache License to your work.
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following
|
|
||||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
||||||
replaced with your own identifying information. (Don't include
|
|
||||||
the brackets!) The text should be enclosed in the appropriate
|
|
||||||
comment syntax for the file format. We also recommend that a
|
|
||||||
file or class name and description of purpose be included on the
|
|
||||||
same "printed page" as the copyright notice for easier
|
|
||||||
identification within third-party archives.
|
|
||||||
|
|
||||||
Copyright [yyyy] [name of copyright owner]
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
73
vendor/github.com/go-openapi/strfmt/README.md
generated
vendored
73
vendor/github.com/go-openapi/strfmt/README.md
generated
vendored
@ -1,73 +0,0 @@
|
|||||||
# Strfmt [](https://travis-ci.org/go-openapi/strfmt) [](https://codecov.io/gh/go-openapi/strfmt) [](https://slackin.goswagger.io)
|
|
||||||
|
|
||||||
[](https://raw.githubusercontent.com/go-openapi/strfmt/master/LICENSE)
|
|
||||||
[](http://godoc.org/github.com/go-openapi/strfmt)
|
|
||||||
[](https://golangci.com)
|
|
||||||
[](https://goreportcard.com/report/github.com/go-openapi/strfmt)
|
|
||||||
|
|
||||||
This package exposes a registry of data types to support string formats in the go-openapi toolkit.
|
|
||||||
|
|
||||||
strfmt represents a well known string format such as credit card or email. The go toolkit for OpenAPI specifications knows how to deal with those.
|
|
||||||
|
|
||||||
## Supported data formats
|
|
||||||
go-openapi/strfmt follows the swagger 2.0 specification with the following formats
|
|
||||||
defined [here](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types).
|
|
||||||
|
|
||||||
It also provides convenient extensions to go-openapi users.
|
|
||||||
|
|
||||||
- [x] JSON-schema draft 4 formats
|
|
||||||
- date-time
|
|
||||||
- email
|
|
||||||
- hostname
|
|
||||||
- ipv4
|
|
||||||
- ipv6
|
|
||||||
- uri
|
|
||||||
- [x] swagger 2.0 format extensions
|
|
||||||
- binary
|
|
||||||
- byte (e.g. base64 encoded string)
|
|
||||||
- date (e.g. "1970-01-01")
|
|
||||||
- password
|
|
||||||
- [x] go-openapi custom format extensions
|
|
||||||
- bsonobjectid (BSON objectID)
|
|
||||||
- creditcard
|
|
||||||
- duration (e.g. "3 weeks", "1ms")
|
|
||||||
- hexcolor (e.g. "#FFFFFF")
|
|
||||||
- isbn, isbn10, isbn13
|
|
||||||
- mac (e.g "01:02:03:04:05:06")
|
|
||||||
- rgbcolor (e.g. "rgb(100,100,100)")
|
|
||||||
- ssn
|
|
||||||
- uuid, uuid3, uuid4, uuid5
|
|
||||||
- cidr (e.g. "192.0.2.1/24", "2001:db8:a0b:12f0::1/32")
|
|
||||||
|
|
||||||
> NOTE: as the name stands for, this package is intended to support string formatting only.
|
|
||||||
> It does not provide validation for numerical values with swagger format extension for JSON types "number" or
|
|
||||||
> "integer" (e.g. float, double, int32...).
|
|
||||||
|
|
||||||
## Format types
|
|
||||||
Types defined in strfmt expose marshaling and validation capabilities.
|
|
||||||
|
|
||||||
List of defined types:
|
|
||||||
- Base64
|
|
||||||
- CreditCard
|
|
||||||
- Date
|
|
||||||
- DateTime
|
|
||||||
- Duration
|
|
||||||
- Email
|
|
||||||
- HexColor
|
|
||||||
- Hostname
|
|
||||||
- IPv4
|
|
||||||
- IPv6
|
|
||||||
- CIDR
|
|
||||||
- ISBN
|
|
||||||
- ISBN10
|
|
||||||
- ISBN13
|
|
||||||
- MAC
|
|
||||||
- ObjectId
|
|
||||||
- Password
|
|
||||||
- RGBColor
|
|
||||||
- SSN
|
|
||||||
- URI
|
|
||||||
- UUID
|
|
||||||
- UUID3
|
|
||||||
- UUID4
|
|
||||||
- UUID5
|
|
165
vendor/github.com/go-openapi/strfmt/bson.go
generated
vendored
165
vendor/github.com/go-openapi/strfmt/bson.go
generated
vendored
@ -1,165 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package strfmt
|
|
||||||
|
|
||||||
import (
|
|
||||||
"database/sql/driver"
|
|
||||||
"fmt"
|
|
||||||
|
|
||||||
"go.mongodb.org/mongo-driver/bson"
|
|
||||||
|
|
||||||
"go.mongodb.org/mongo-driver/bson/bsontype"
|
|
||||||
bsonprim "go.mongodb.org/mongo-driver/bson/primitive"
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
var id ObjectId
|
|
||||||
// register this format in the default registry
|
|
||||||
Default.Add("bsonobjectid", &id, IsBSONObjectID)
|
|
||||||
}
|
|
||||||
|
|
||||||
// IsBSONObjectID returns true when the string is a valid BSON.ObjectId
|
|
||||||
func IsBSONObjectID(str string) bool {
|
|
||||||
_, err := bsonprim.ObjectIDFromHex(str)
|
|
||||||
return err == nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// ObjectId represents a BSON object ID (alias to go.mongodb.org/mongo-driver/bson/primitive.ObjectID)
|
|
||||||
//
|
|
||||||
// swagger:strfmt bsonobjectid
|
|
||||||
type ObjectId bsonprim.ObjectID
|
|
||||||
|
|
||||||
// NewObjectId creates a ObjectId from a Hex String
|
|
||||||
func NewObjectId(hex string) ObjectId {
|
|
||||||
oid, err := bsonprim.ObjectIDFromHex(hex)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
return ObjectId(oid)
|
|
||||||
}
|
|
||||||
|
|
||||||
// MarshalText turns this instance into text
|
|
||||||
func (id ObjectId) MarshalText() ([]byte, error) {
|
|
||||||
oid := bsonprim.ObjectID(id)
|
|
||||||
if oid == bsonprim.NilObjectID {
|
|
||||||
return nil, nil
|
|
||||||
}
|
|
||||||
return []byte(oid.Hex()), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// UnmarshalText hydrates this instance from text
|
|
||||||
func (id *ObjectId) UnmarshalText(data []byte) error { // validation is performed later on
|
|
||||||
if len(data) == 0 {
|
|
||||||
*id = ObjectId(bsonprim.NilObjectID)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
oidstr := string(data)
|
|
||||||
oid, err := bsonprim.ObjectIDFromHex(oidstr)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
*id = ObjectId(oid)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Scan read a value from a database driver
|
|
||||||
func (id *ObjectId) Scan(raw interface{}) error {
|
|
||||||
var data []byte
|
|
||||||
switch v := raw.(type) {
|
|
||||||
case []byte:
|
|
||||||
data = v
|
|
||||||
case string:
|
|
||||||
data = []byte(v)
|
|
||||||
default:
|
|
||||||
return fmt.Errorf("cannot sql.Scan() strfmt.URI from: %#v", v)
|
|
||||||
}
|
|
||||||
|
|
||||||
return id.UnmarshalText(data)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Value converts a value to a database driver value
|
|
||||||
func (id ObjectId) Value() (driver.Value, error) {
|
|
||||||
return driver.Value(bsonprim.ObjectID(id).Hex()), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (id ObjectId) String() string {
|
|
||||||
return bsonprim.ObjectID(id).String()
|
|
||||||
}
|
|
||||||
|
|
||||||
// MarshalJSON returns the ObjectId as JSON
|
|
||||||
func (id ObjectId) MarshalJSON() ([]byte, error) {
|
|
||||||
return bsonprim.ObjectID(id).MarshalJSON()
|
|
||||||
}
|
|
||||||
|
|
||||||
// UnmarshalJSON sets the ObjectId from JSON
|
|
||||||
func (id *ObjectId) UnmarshalJSON(data []byte) error {
|
|
||||||
var obj bsonprim.ObjectID
|
|
||||||
if err := obj.UnmarshalJSON(data); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
*id = ObjectId(obj)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// MarshalBSON renders the object id as a BSON document
|
|
||||||
func (id ObjectId) MarshalBSON() ([]byte, error) {
|
|
||||||
return bson.Marshal(bson.M{"data": bsonprim.ObjectID(id)})
|
|
||||||
}
|
|
||||||
|
|
||||||
// UnmarshalBSON reads the objectId from a BSON document
|
|
||||||
func (id *ObjectId) UnmarshalBSON(data []byte) error {
|
|
||||||
var obj struct {
|
|
||||||
Data bsonprim.ObjectID
|
|
||||||
}
|
|
||||||
if err := bson.Unmarshal(data, &obj); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
*id = ObjectId(obj.Data)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// MarshalBSONValue is an interface implemented by types that can marshal themselves
|
|
||||||
// into a BSON document represented as bytes. The bytes returned must be a valid
|
|
||||||
// BSON document if the error is nil.
|
|
||||||
func (id ObjectId) MarshalBSONValue() (bsontype.Type, []byte, error) {
|
|
||||||
oid := bsonprim.ObjectID(id)
|
|
||||||
return bsontype.ObjectID, oid[:], nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// UnmarshalBSONValue is an interface implemented by types that can unmarshal a
|
|
||||||
// BSON value representation of themselves. The BSON bytes and type can be
|
|
||||||
// assumed to be valid. UnmarshalBSONValue must copy the BSON value bytes if it
|
|
||||||
// wishes to retain the data after returning.
|
|
||||||
func (id *ObjectId) UnmarshalBSONValue(tpe bsontype.Type, data []byte) error {
|
|
||||||
var oid bsonprim.ObjectID
|
|
||||||
copy(oid[:], data)
|
|
||||||
*id = ObjectId(oid)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopyInto copies the receiver and writes its value into out.
|
|
||||||
func (id *ObjectId) DeepCopyInto(out *ObjectId) {
|
|
||||||
*out = *id
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopy copies the receiver into a new ObjectId.
|
|
||||||
func (id *ObjectId) DeepCopy() *ObjectId {
|
|
||||||
if id == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
out := new(ObjectId)
|
|
||||||
id.DeepCopyInto(out)
|
|
||||||
return out
|
|
||||||
}
|
|
153
vendor/github.com/go-openapi/strfmt/date.go
generated
vendored
153
vendor/github.com/go-openapi/strfmt/date.go
generated
vendored
@ -1,153 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package strfmt
|
|
||||||
|
|
||||||
import (
|
|
||||||
"database/sql/driver"
|
|
||||||
"encoding/json"
|
|
||||||
"errors"
|
|
||||||
"fmt"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"go.mongodb.org/mongo-driver/bson"
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
d := Date{}
|
|
||||||
// register this format in the default registry
|
|
||||||
Default.Add("date", &d, IsDate)
|
|
||||||
}
|
|
||||||
|
|
||||||
// IsDate returns true when the string is a valid date
|
|
||||||
func IsDate(str string) bool {
|
|
||||||
_, err := time.Parse(RFC3339FullDate, str)
|
|
||||||
return err == nil
|
|
||||||
}
|
|
||||||
|
|
||||||
const (
|
|
||||||
// RFC3339FullDate represents a full-date as specified by RFC3339
|
|
||||||
// See: http://goo.gl/xXOvVd
|
|
||||||
RFC3339FullDate = "2006-01-02"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Date represents a date from the API
|
|
||||||
//
|
|
||||||
// swagger:strfmt date
|
|
||||||
type Date time.Time
|
|
||||||
|
|
||||||
// String converts this date into a string
|
|
||||||
func (d Date) String() string {
|
|
||||||
return time.Time(d).Format(RFC3339FullDate)
|
|
||||||
}
|
|
||||||
|
|
||||||
// UnmarshalText parses a text representation into a date type
|
|
||||||
func (d *Date) UnmarshalText(text []byte) error {
|
|
||||||
if len(text) == 0 {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
dd, err := time.Parse(RFC3339FullDate, string(text))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
*d = Date(dd)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// MarshalText serializes this date type to string
|
|
||||||
func (d Date) MarshalText() ([]byte, error) {
|
|
||||||
return []byte(d.String()), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Scan scans a Date value from database driver type.
|
|
||||||
func (d *Date) Scan(raw interface{}) error {
|
|
||||||
switch v := raw.(type) {
|
|
||||||
case []byte:
|
|
||||||
return d.UnmarshalText(v)
|
|
||||||
case string:
|
|
||||||
return d.UnmarshalText([]byte(v))
|
|
||||||
case time.Time:
|
|
||||||
*d = Date(v)
|
|
||||||
return nil
|
|
||||||
case nil:
|
|
||||||
*d = Date{}
|
|
||||||
return nil
|
|
||||||
default:
|
|
||||||
return fmt.Errorf("cannot sql.Scan() strfmt.Date from: %#v", v)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Value converts Date to a primitive value ready to written to a database.
|
|
||||||
func (d Date) Value() (driver.Value, error) {
|
|
||||||
return driver.Value(d.String()), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// MarshalJSON returns the Date as JSON
|
|
||||||
func (d Date) MarshalJSON() ([]byte, error) {
|
|
||||||
return json.Marshal(time.Time(d).Format(RFC3339FullDate))
|
|
||||||
}
|
|
||||||
|
|
||||||
// UnmarshalJSON sets the Date from JSON
|
|
||||||
func (d *Date) UnmarshalJSON(data []byte) error {
|
|
||||||
if string(data) == jsonNull {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
var strdate string
|
|
||||||
if err := json.Unmarshal(data, &strdate); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
tt, err := time.Parse(RFC3339FullDate, strdate)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
*d = Date(tt)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (d Date) MarshalBSON() ([]byte, error) {
|
|
||||||
return bson.Marshal(bson.M{"data": d.String()})
|
|
||||||
}
|
|
||||||
|
|
||||||
func (d *Date) UnmarshalBSON(data []byte) error {
|
|
||||||
var m bson.M
|
|
||||||
if err := bson.Unmarshal(data, &m); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
if data, ok := m["data"].(string); ok {
|
|
||||||
rd, err := time.Parse(RFC3339FullDate, data)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
*d = Date(rd)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
return errors.New("couldn't unmarshal bson bytes value as Date")
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopyInto copies the receiver and writes its value into out.
|
|
||||||
func (d *Date) DeepCopyInto(out *Date) {
|
|
||||||
*out = *d
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopy copies the receiver into a new Date.
|
|
||||||
func (d *Date) DeepCopy() *Date {
|
|
||||||
if d == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
out := new(Date)
|
|
||||||
d.DeepCopyInto(out)
|
|
||||||
return out
|
|
||||||
}
|
|
2035
vendor/github.com/go-openapi/strfmt/default.go
generated
vendored
2035
vendor/github.com/go-openapi/strfmt/default.go
generated
vendored
File diff suppressed because it is too large
Load Diff
18
vendor/github.com/go-openapi/strfmt/doc.go
generated
vendored
18
vendor/github.com/go-openapi/strfmt/doc.go
generated
vendored
@ -1,18 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
// Package strfmt contains custom string formats
|
|
||||||
//
|
|
||||||
// TODO: add info on how to define and register a custom format
|
|
||||||
package strfmt
|
|
211
vendor/github.com/go-openapi/strfmt/duration.go
generated
vendored
211
vendor/github.com/go-openapi/strfmt/duration.go
generated
vendored
@ -1,211 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package strfmt
|
|
||||||
|
|
||||||
import (
|
|
||||||
"database/sql/driver"
|
|
||||||
"encoding/json"
|
|
||||||
"errors"
|
|
||||||
"fmt"
|
|
||||||
"regexp"
|
|
||||||
"strconv"
|
|
||||||
"strings"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"go.mongodb.org/mongo-driver/bson"
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
d := Duration(0)
|
|
||||||
// register this format in the default registry
|
|
||||||
Default.Add("duration", &d, IsDuration)
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
timeUnits = [][]string{
|
|
||||||
{"ns", "nano"},
|
|
||||||
{"us", "µs", "micro"},
|
|
||||||
{"ms", "milli"},
|
|
||||||
{"s", "sec"},
|
|
||||||
{"m", "min"},
|
|
||||||
{"h", "hr", "hour"},
|
|
||||||
{"d", "day"},
|
|
||||||
{"w", "wk", "week"},
|
|
||||||
}
|
|
||||||
|
|
||||||
timeMultiplier = map[string]time.Duration{
|
|
||||||
"ns": time.Nanosecond,
|
|
||||||
"us": time.Microsecond,
|
|
||||||
"ms": time.Millisecond,
|
|
||||||
"s": time.Second,
|
|
||||||
"m": time.Minute,
|
|
||||||
"h": time.Hour,
|
|
||||||
"d": 24 * time.Hour,
|
|
||||||
"w": 7 * 24 * time.Hour,
|
|
||||||
}
|
|
||||||
|
|
||||||
durationMatcher = regexp.MustCompile(`((\d+)\s*([A-Za-zµ]+))`)
|
|
||||||
)
|
|
||||||
|
|
||||||
// IsDuration returns true if the provided string is a valid duration
|
|
||||||
func IsDuration(str string) bool {
|
|
||||||
_, err := ParseDuration(str)
|
|
||||||
return err == nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Duration represents a duration
|
|
||||||
//
|
|
||||||
// Duration stores a period of time as a nanosecond count, with the largest
|
|
||||||
// repesentable duration being approximately 290 years.
|
|
||||||
//
|
|
||||||
// swagger:strfmt duration
|
|
||||||
type Duration time.Duration
|
|
||||||
|
|
||||||
// MarshalText turns this instance into text
|
|
||||||
func (d Duration) MarshalText() ([]byte, error) {
|
|
||||||
return []byte(time.Duration(d).String()), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// UnmarshalText hydrates this instance from text
|
|
||||||
func (d *Duration) UnmarshalText(data []byte) error { // validation is performed later on
|
|
||||||
dd, err := ParseDuration(string(data))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
*d = Duration(dd)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// ParseDuration parses a duration from a string, compatible with scala duration syntax
|
|
||||||
func ParseDuration(cand string) (time.Duration, error) {
|
|
||||||
if dur, err := time.ParseDuration(cand); err == nil {
|
|
||||||
return dur, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
var dur time.Duration
|
|
||||||
ok := false
|
|
||||||
for _, match := range durationMatcher.FindAllStringSubmatch(cand, -1) {
|
|
||||||
|
|
||||||
factor, err := strconv.Atoi(match[2]) // converts string to int
|
|
||||||
if err != nil {
|
|
||||||
return 0, err
|
|
||||||
}
|
|
||||||
unit := strings.ToLower(strings.TrimSpace(match[3]))
|
|
||||||
|
|
||||||
for _, variants := range timeUnits {
|
|
||||||
last := len(variants) - 1
|
|
||||||
multiplier := timeMultiplier[variants[0]]
|
|
||||||
|
|
||||||
for i, variant := range variants {
|
|
||||||
if (last == i && strings.HasPrefix(unit, variant)) || strings.EqualFold(variant, unit) {
|
|
||||||
ok = true
|
|
||||||
dur += (time.Duration(factor) * multiplier)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ok {
|
|
||||||
return dur, nil
|
|
||||||
}
|
|
||||||
return 0, fmt.Errorf("unable to parse %s as duration", cand)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Scan reads a Duration value from database driver type.
|
|
||||||
func (d *Duration) Scan(raw interface{}) error {
|
|
||||||
switch v := raw.(type) {
|
|
||||||
// TODO: case []byte: // ?
|
|
||||||
case int64:
|
|
||||||
*d = Duration(v)
|
|
||||||
case float64:
|
|
||||||
*d = Duration(int64(v))
|
|
||||||
case nil:
|
|
||||||
*d = Duration(0)
|
|
||||||
default:
|
|
||||||
return fmt.Errorf("cannot sql.Scan() strfmt.Duration from: %#v", v)
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Value converts Duration to a primitive value ready to be written to a database.
|
|
||||||
func (d Duration) Value() (driver.Value, error) {
|
|
||||||
return driver.Value(int64(d)), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// String converts this duration to a string
|
|
||||||
func (d Duration) String() string {
|
|
||||||
return time.Duration(d).String()
|
|
||||||
}
|
|
||||||
|
|
||||||
// MarshalJSON returns the Duration as JSON
|
|
||||||
func (d Duration) MarshalJSON() ([]byte, error) {
|
|
||||||
return json.Marshal(time.Duration(d).String())
|
|
||||||
}
|
|
||||||
|
|
||||||
// UnmarshalJSON sets the Duration from JSON
|
|
||||||
func (d *Duration) UnmarshalJSON(data []byte) error {
|
|
||||||
if string(data) == jsonNull {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
var dstr string
|
|
||||||
if err := json.Unmarshal(data, &dstr); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
tt, err := ParseDuration(dstr)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
*d = Duration(tt)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (d Duration) MarshalBSON() ([]byte, error) {
|
|
||||||
return bson.Marshal(bson.M{"data": d.String()})
|
|
||||||
}
|
|
||||||
|
|
||||||
func (d *Duration) UnmarshalBSON(data []byte) error {
|
|
||||||
var m bson.M
|
|
||||||
if err := bson.Unmarshal(data, &m); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
if data, ok := m["data"].(string); ok {
|
|
||||||
rd, err := ParseDuration(data)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
*d = Duration(rd)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
return errors.New("couldn't unmarshal bson bytes value as Date")
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopyInto copies the receiver and writes its value into out.
|
|
||||||
func (d *Duration) DeepCopyInto(out *Duration) {
|
|
||||||
*out = *d
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopy copies the receiver into a new Duration.
|
|
||||||
func (d *Duration) DeepCopy() *Duration {
|
|
||||||
if d == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
out := new(Duration)
|
|
||||||
d.DeepCopyInto(out)
|
|
||||||
return out
|
|
||||||
}
|
|
314
vendor/github.com/go-openapi/strfmt/format.go
generated
vendored
314
vendor/github.com/go-openapi/strfmt/format.go
generated
vendored
@ -1,314 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package strfmt
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding"
|
|
||||||
"fmt"
|
|
||||||
"reflect"
|
|
||||||
"strings"
|
|
||||||
"sync"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/go-openapi/errors"
|
|
||||||
"github.com/mitchellh/mapstructure"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Default is the default formats registry
|
|
||||||
var Default = NewSeededFormats(nil, nil)
|
|
||||||
|
|
||||||
// Validator represents a validator for a string format.
|
|
||||||
type Validator func(string) bool
|
|
||||||
|
|
||||||
// Format represents a string format.
|
|
||||||
//
|
|
||||||
// All implementations of Format provide a string representation and text
|
|
||||||
// marshaling/unmarshaling interface to be used by encoders (e.g. encoding/json).
|
|
||||||
type Format interface {
|
|
||||||
String() string
|
|
||||||
encoding.TextMarshaler
|
|
||||||
encoding.TextUnmarshaler
|
|
||||||
}
|
|
||||||
|
|
||||||
// Registry is a registry of string formats, with a validation method.
|
|
||||||
type Registry interface {
|
|
||||||
Add(string, Format, Validator) bool
|
|
||||||
DelByName(string) bool
|
|
||||||
GetType(string) (reflect.Type, bool)
|
|
||||||
ContainsName(string) bool
|
|
||||||
Validates(string, string) bool
|
|
||||||
Parse(string, string) (interface{}, error)
|
|
||||||
MapStructureHookFunc() mapstructure.DecodeHookFunc
|
|
||||||
}
|
|
||||||
|
|
||||||
type knownFormat struct {
|
|
||||||
Name string
|
|
||||||
OrigName string
|
|
||||||
Type reflect.Type
|
|
||||||
Validator Validator
|
|
||||||
}
|
|
||||||
|
|
||||||
// NameNormalizer is a function that normalizes a format name.
|
|
||||||
type NameNormalizer func(string) string
|
|
||||||
|
|
||||||
// DefaultNameNormalizer removes all dashes
|
|
||||||
func DefaultNameNormalizer(name string) string {
|
|
||||||
return strings.Replace(name, "-", "", -1)
|
|
||||||
}
|
|
||||||
|
|
||||||
type defaultFormats struct {
|
|
||||||
sync.Mutex
|
|
||||||
data []knownFormat
|
|
||||||
normalizeName NameNormalizer
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewFormats creates a new formats registry seeded with the values from the default
|
|
||||||
func NewFormats() Registry {
|
|
||||||
return NewSeededFormats(Default.(*defaultFormats).data, nil)
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewSeededFormats creates a new formats registry
|
|
||||||
func NewSeededFormats(seeds []knownFormat, normalizer NameNormalizer) Registry {
|
|
||||||
if normalizer == nil {
|
|
||||||
normalizer = DefaultNameNormalizer
|
|
||||||
}
|
|
||||||
// copy here, don't modify original
|
|
||||||
d := append([]knownFormat(nil), seeds...)
|
|
||||||
return &defaultFormats{
|
|
||||||
data: d,
|
|
||||||
normalizeName: normalizer,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// MapStructureHookFunc is a decode hook function for mapstructure
|
|
||||||
func (f *defaultFormats) MapStructureHookFunc() mapstructure.DecodeHookFunc {
|
|
||||||
return func(from reflect.Type, to reflect.Type, data interface{}) (interface{}, error) {
|
|
||||||
if from.Kind() != reflect.String {
|
|
||||||
return data, nil
|
|
||||||
}
|
|
||||||
for _, v := range f.data {
|
|
||||||
tpe, _ := f.GetType(v.Name)
|
|
||||||
if to == tpe {
|
|
||||||
switch v.Name {
|
|
||||||
case "date":
|
|
||||||
d, err := time.Parse(RFC3339FullDate, data.(string))
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return Date(d), nil
|
|
||||||
case "datetime":
|
|
||||||
input := data.(string)
|
|
||||||
if len(input) == 0 {
|
|
||||||
return nil, fmt.Errorf("empty string is an invalid datetime format")
|
|
||||||
}
|
|
||||||
return ParseDateTime(input)
|
|
||||||
case "duration":
|
|
||||||
dur, err := ParseDuration(data.(string))
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return Duration(dur), nil
|
|
||||||
case "uri":
|
|
||||||
return URI(data.(string)), nil
|
|
||||||
case "email":
|
|
||||||
return Email(data.(string)), nil
|
|
||||||
case "uuid":
|
|
||||||
return UUID(data.(string)), nil
|
|
||||||
case "uuid3":
|
|
||||||
return UUID3(data.(string)), nil
|
|
||||||
case "uuid4":
|
|
||||||
return UUID4(data.(string)), nil
|
|
||||||
case "uuid5":
|
|
||||||
return UUID5(data.(string)), nil
|
|
||||||
case "hostname":
|
|
||||||
return Hostname(data.(string)), nil
|
|
||||||
case "ipv4":
|
|
||||||
return IPv4(data.(string)), nil
|
|
||||||
case "ipv6":
|
|
||||||
return IPv6(data.(string)), nil
|
|
||||||
case "cidr":
|
|
||||||
return CIDR(data.(string)), nil
|
|
||||||
case "mac":
|
|
||||||
return MAC(data.(string)), nil
|
|
||||||
case "isbn":
|
|
||||||
return ISBN(data.(string)), nil
|
|
||||||
case "isbn10":
|
|
||||||
return ISBN10(data.(string)), nil
|
|
||||||
case "isbn13":
|
|
||||||
return ISBN13(data.(string)), nil
|
|
||||||
case "creditcard":
|
|
||||||
return CreditCard(data.(string)), nil
|
|
||||||
case "ssn":
|
|
||||||
return SSN(data.(string)), nil
|
|
||||||
case "hexcolor":
|
|
||||||
return HexColor(data.(string)), nil
|
|
||||||
case "rgbcolor":
|
|
||||||
return RGBColor(data.(string)), nil
|
|
||||||
case "byte":
|
|
||||||
return Base64(data.(string)), nil
|
|
||||||
case "password":
|
|
||||||
return Password(data.(string)), nil
|
|
||||||
default:
|
|
||||||
return nil, errors.InvalidTypeName(v.Name)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return data, nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add adds a new format, return true if this was a new item instead of a replacement
|
|
||||||
func (f *defaultFormats) Add(name string, strfmt Format, validator Validator) bool {
|
|
||||||
f.Lock()
|
|
||||||
defer f.Unlock()
|
|
||||||
|
|
||||||
nme := f.normalizeName(name)
|
|
||||||
|
|
||||||
tpe := reflect.TypeOf(strfmt)
|
|
||||||
if tpe.Kind() == reflect.Ptr {
|
|
||||||
tpe = tpe.Elem()
|
|
||||||
}
|
|
||||||
|
|
||||||
for i := range f.data {
|
|
||||||
v := &f.data[i]
|
|
||||||
if v.Name == nme {
|
|
||||||
v.Type = tpe
|
|
||||||
v.Validator = validator
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// turns out it's new after all
|
|
||||||
f.data = append(f.data, knownFormat{Name: nme, OrigName: name, Type: tpe, Validator: validator})
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetType gets the type for the specified name
|
|
||||||
func (f *defaultFormats) GetType(name string) (reflect.Type, bool) {
|
|
||||||
f.Lock()
|
|
||||||
defer f.Unlock()
|
|
||||||
nme := f.normalizeName(name)
|
|
||||||
for _, v := range f.data {
|
|
||||||
if v.Name == nme {
|
|
||||||
return v.Type, true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return nil, false
|
|
||||||
}
|
|
||||||
|
|
||||||
// DelByName removes the format by the specified name, returns true when an item was actually removed
|
|
||||||
func (f *defaultFormats) DelByName(name string) bool {
|
|
||||||
f.Lock()
|
|
||||||
defer f.Unlock()
|
|
||||||
|
|
||||||
nme := f.normalizeName(name)
|
|
||||||
|
|
||||||
for i, v := range f.data {
|
|
||||||
if v.Name == nme {
|
|
||||||
f.data[i] = knownFormat{} // release
|
|
||||||
f.data = append(f.data[:i], f.data[i+1:]...)
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
// DelByFormat removes the specified format, returns true when an item was actually removed
|
|
||||||
func (f *defaultFormats) DelByFormat(strfmt Format) bool {
|
|
||||||
f.Lock()
|
|
||||||
defer f.Unlock()
|
|
||||||
|
|
||||||
tpe := reflect.TypeOf(strfmt)
|
|
||||||
if tpe.Kind() == reflect.Ptr {
|
|
||||||
tpe = tpe.Elem()
|
|
||||||
}
|
|
||||||
|
|
||||||
for i, v := range f.data {
|
|
||||||
if v.Type == tpe {
|
|
||||||
f.data[i] = knownFormat{} // release
|
|
||||||
f.data = append(f.data[:i], f.data[i+1:]...)
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
// ContainsName returns true if this registry contains the specified name
|
|
||||||
func (f *defaultFormats) ContainsName(name string) bool {
|
|
||||||
f.Lock()
|
|
||||||
defer f.Unlock()
|
|
||||||
nme := f.normalizeName(name)
|
|
||||||
for _, v := range f.data {
|
|
||||||
if v.Name == nme {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
// ContainsFormat returns true if this registry contains the specified format
|
|
||||||
func (f *defaultFormats) ContainsFormat(strfmt Format) bool {
|
|
||||||
f.Lock()
|
|
||||||
defer f.Unlock()
|
|
||||||
tpe := reflect.TypeOf(strfmt)
|
|
||||||
if tpe.Kind() == reflect.Ptr {
|
|
||||||
tpe = tpe.Elem()
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, v := range f.data {
|
|
||||||
if v.Type == tpe {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
// Validates passed data against format.
|
|
||||||
//
|
|
||||||
// Note that the format name is automatically normalized, e.g. one may
|
|
||||||
// use "date-time" to use the "datetime" format validator.
|
|
||||||
func (f *defaultFormats) Validates(name, data string) bool {
|
|
||||||
f.Lock()
|
|
||||||
defer f.Unlock()
|
|
||||||
nme := f.normalizeName(name)
|
|
||||||
for _, v := range f.data {
|
|
||||||
if v.Name == nme {
|
|
||||||
return v.Validator(data)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
// Parse a string into the appropriate format representation type.
|
|
||||||
//
|
|
||||||
// E.g. parsing a string a "date" will return a Date type.
|
|
||||||
func (f *defaultFormats) Parse(name, data string) (interface{}, error) {
|
|
||||||
f.Lock()
|
|
||||||
defer f.Unlock()
|
|
||||||
nme := f.normalizeName(name)
|
|
||||||
for _, v := range f.data {
|
|
||||||
if v.Name == nme {
|
|
||||||
nw := reflect.New(v.Type).Interface()
|
|
||||||
if dec, ok := nw.(encoding.TextUnmarshaler); ok {
|
|
||||||
if err := dec.UnmarshalText([]byte(data)); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return nw, nil
|
|
||||||
}
|
|
||||||
return nil, errors.InvalidTypeName(name)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return nil, errors.InvalidTypeName(name)
|
|
||||||
}
|
|
13
vendor/github.com/go-openapi/strfmt/go.mod
generated
vendored
13
vendor/github.com/go-openapi/strfmt/go.mod
generated
vendored
@ -1,13 +0,0 @@
|
|||||||
module github.com/go-openapi/strfmt
|
|
||||||
|
|
||||||
require (
|
|
||||||
github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a
|
|
||||||
github.com/go-openapi/errors v0.19.2
|
|
||||||
github.com/go-stack/stack v1.8.0 // indirect
|
|
||||||
github.com/google/go-cmp v0.3.0 // indirect
|
|
||||||
github.com/google/uuid v1.1.1
|
|
||||||
github.com/mitchellh/mapstructure v1.1.2
|
|
||||||
github.com/stretchr/testify v1.3.0
|
|
||||||
github.com/tidwall/pretty v1.0.0 // indirect
|
|
||||||
go.mongodb.org/mongo-driver v1.0.3
|
|
||||||
)
|
|
25
vendor/github.com/go-openapi/strfmt/go.sum
generated
vendored
25
vendor/github.com/go-openapi/strfmt/go.sum
generated
vendored
@ -1,25 +0,0 @@
|
|||||||
github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA=
|
|
||||||
github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
|
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
|
||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
|
||||||
github.com/go-openapi/errors v0.19.2 h1:a2kIyV3w+OS3S97zxUndRVD46+FhGOUBDFY7nmu4CsY=
|
|
||||||
github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
|
|
||||||
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
|
|
||||||
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
|
||||||
github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY=
|
|
||||||
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
|
|
||||||
github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
|
|
||||||
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
|
||||||
github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
|
|
||||||
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
|
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
|
||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
|
||||||
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
|
|
||||||
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
|
|
||||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
|
||||||
github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
|
|
||||||
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
|
|
||||||
go.mongodb.org/mongo-driver v1.0.3 h1:GKoji1ld3tw2aC+GX1wbr/J2fX13yNacEYoJ8Nhr0yU=
|
|
||||||
go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
|
|
203
vendor/github.com/go-openapi/strfmt/time.go
generated
vendored
203
vendor/github.com/go-openapi/strfmt/time.go
generated
vendored
@ -1,203 +0,0 @@
|
|||||||
// Copyright 2015 go-swagger maintainers
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package strfmt
|
|
||||||
|
|
||||||
import (
|
|
||||||
"database/sql/driver"
|
|
||||||
"encoding/json"
|
|
||||||
"errors"
|
|
||||||
"fmt"
|
|
||||||
"regexp"
|
|
||||||
"strings"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"go.mongodb.org/mongo-driver/bson"
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
dt := DateTime{}
|
|
||||||
Default.Add("datetime", &dt, IsDateTime)
|
|
||||||
}
|
|
||||||
|
|
||||||
// IsDateTime returns true when the string is a valid date-time
|
|
||||||
func IsDateTime(str string) bool {
|
|
||||||
if len(str) < 4 {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
s := strings.Split(strings.ToLower(str), "t")
|
|
||||||
if len(s) < 2 || !IsDate(s[0]) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
matches := rxDateTime.FindAllStringSubmatch(s[1], -1)
|
|
||||||
if len(matches) == 0 || len(matches[0]) == 0 {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
m := matches[0]
|
|
||||||
res := m[1] <= "23" && m[2] <= "59" && m[3] <= "59"
|
|
||||||
return res
|
|
||||||
}
|
|
||||||
|
|
||||||
const (
|
|
||||||
// RFC3339Millis represents a ISO8601 format to millis instead of to nanos
|
|
||||||
RFC3339Millis = "2006-01-02T15:04:05.000Z07:00"
|
|
||||||
// RFC3339Micro represents a ISO8601 format to micro instead of to nano
|
|
||||||
RFC3339Micro = "2006-01-02T15:04:05.000000Z07:00"
|
|
||||||
// ISO8601LocalTime represents a ISO8601 format to ISO8601 in local time (no timezone)
|
|
||||||
ISO8601LocalTime = "2006-01-02T15:04:05"
|
|
||||||
// DateTimePattern pattern to match for the date-time format from http://tools.ietf.org/html/rfc3339#section-5.6
|
|
||||||
DateTimePattern = `^([0-9]{2}):([0-9]{2}):([0-9]{2})(.[0-9]+)?(z|([+-][0-9]{2}:[0-9]{2}))$`
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
dateTimeFormats = []string{RFC3339Micro, RFC3339Millis, time.RFC3339, time.RFC3339Nano, ISO8601LocalTime}
|
|
||||||
rxDateTime = regexp.MustCompile(DateTimePattern)
|
|
||||||
// MarshalFormat sets the time resolution format used for marshaling time (set to milliseconds)
|
|
||||||
MarshalFormat = RFC3339Millis
|
|
||||||
)
|
|
||||||
|
|
||||||
// ParseDateTime parses a string that represents an ISO8601 time or a unix epoch
|
|
||||||
func ParseDateTime(data string) (DateTime, error) {
|
|
||||||
if data == "" {
|
|
||||||
return NewDateTime(), nil
|
|
||||||
}
|
|
||||||
var lastError error
|
|
||||||
for _, layout := range dateTimeFormats {
|
|
||||||
dd, err := time.Parse(layout, data)
|
|
||||||
if err != nil {
|
|
||||||
lastError = err
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
return DateTime(dd), nil
|
|
||||||
}
|
|
||||||
return DateTime{}, lastError
|
|
||||||
}
|
|
||||||
|
|
||||||
// DateTime is a time but it serializes to ISO8601 format with millis
|
|
||||||
// It knows how to read 3 different variations of a RFC3339 date time.
|
|
||||||
// Most APIs we encounter want either millisecond or second precision times.
|
|
||||||
// This just tries to make it worry-free.
|
|
||||||
//
|
|
||||||
// swagger:strfmt date-time
|
|
||||||
type DateTime time.Time
|
|
||||||
|
|
||||||
// NewDateTime is a representation of zero value for DateTime type
|
|
||||||
func NewDateTime() DateTime {
|
|
||||||
return DateTime(time.Unix(0, 0).UTC())
|
|
||||||
}
|
|
||||||
|
|
||||||
// String converts this time to a string
|
|
||||||
func (t DateTime) String() string {
|
|
||||||
return time.Time(t).Format(MarshalFormat)
|
|
||||||
}
|
|
||||||
|
|
||||||
// MarshalText implements the text marshaller interface
|
|
||||||
func (t DateTime) MarshalText() ([]byte, error) {
|
|
||||||
return []byte(t.String()), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// UnmarshalText implements the text unmarshaller interface
|
|
||||||
func (t *DateTime) UnmarshalText(text []byte) error {
|
|
||||||
tt, err := ParseDateTime(string(text))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
*t = tt
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Scan scans a DateTime value from database driver type.
|
|
||||||
func (t *DateTime) Scan(raw interface{}) error {
|
|
||||||
// TODO: case int64: and case float64: ?
|
|
||||||
switch v := raw.(type) {
|
|
||||||
case []byte:
|
|
||||||
return t.UnmarshalText(v)
|
|
||||||
case string:
|
|
||||||
return t.UnmarshalText([]byte(v))
|
|
||||||
case time.Time:
|
|
||||||
*t = DateTime(v)
|
|
||||||
case nil:
|
|
||||||
*t = DateTime{}
|
|
||||||
default:
|
|
||||||
return fmt.Errorf("cannot sql.Scan() strfmt.DateTime from: %#v", v)
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Value converts DateTime to a primitive value ready to written to a database.
|
|
||||||
func (t DateTime) Value() (driver.Value, error) {
|
|
||||||
return driver.Value(t.String()), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// MarshalJSON returns the DateTime as JSON
|
|
||||||
func (t DateTime) MarshalJSON() ([]byte, error) {
|
|
||||||
return json.Marshal(time.Time(t).Format(MarshalFormat))
|
|
||||||
}
|
|
||||||
|
|
||||||
// UnmarshalJSON sets the DateTime from JSON
|
|
||||||
func (t *DateTime) UnmarshalJSON(data []byte) error {
|
|
||||||
if string(data) == jsonNull {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
var tstr string
|
|
||||||
if err := json.Unmarshal(data, &tstr); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
tt, err := ParseDateTime(tstr)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
*t = tt
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t DateTime) MarshalBSON() ([]byte, error) {
|
|
||||||
return bson.Marshal(bson.M{"data": t.String()})
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *DateTime) UnmarshalBSON(data []byte) error {
|
|
||||||
var m bson.M
|
|
||||||
if err := bson.Unmarshal(data, &m); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
if data, ok := m["data"].(string); ok {
|
|
||||||
rd, err := ParseDateTime(data)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
*t = rd
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
return errors.New("couldn't unmarshal bson bytes value as Date")
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopyInto copies the receiver and writes its value into out.
|
|
||||||
func (t *DateTime) DeepCopyInto(out *DateTime) {
|
|
||||||
*out = *t
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopy copies the receiver into a new DateTime.
|
|
||||||
func (t *DateTime) DeepCopy() *DateTime {
|
|
||||||
if t == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
out := new(DateTime)
|
|
||||||
t.DeepCopyInto(out)
|
|
||||||
return out
|
|
||||||
}
|
|
26
vendor/github.com/go-openapi/validate/.editorconfig
generated
vendored
26
vendor/github.com/go-openapi/validate/.editorconfig
generated
vendored
@ -1,26 +0,0 @@
|
|||||||
# top-most EditorConfig file
|
|
||||||
root = true
|
|
||||||
|
|
||||||
# Unix-style newlines with a newline ending every file
|
|
||||||
[*]
|
|
||||||
end_of_line = lf
|
|
||||||
insert_final_newline = true
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 2
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
|
|
||||||
# Set default charset
|
|
||||||
[*.{js,py,go,scala,rb,java,html,css,less,sass,md}]
|
|
||||||
charset = utf-8
|
|
||||||
|
|
||||||
# Tab indentation (no size specified)
|
|
||||||
[*.go]
|
|
||||||
indent_style = tab
|
|
||||||
|
|
||||||
[*.md]
|
|
||||||
trim_trailing_whitespace = false
|
|
||||||
|
|
||||||
# Matches the exact files either package.json or .travis.yml
|
|
||||||
[{package.json,.travis.yml}]
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 2
|
|
5
vendor/github.com/go-openapi/validate/.gitignore
generated
vendored
5
vendor/github.com/go-openapi/validate/.gitignore
generated
vendored
@ -1,5 +0,0 @@
|
|||||||
secrets.yml
|
|
||||||
coverage.out
|
|
||||||
*.cov
|
|
||||||
*.out
|
|
||||||
playground
|
|
28
vendor/github.com/go-openapi/validate/.golangci.yml
generated
vendored
28
vendor/github.com/go-openapi/validate/.golangci.yml
generated
vendored
@ -1,28 +0,0 @@
|
|||||||
linters-settings:
|
|
||||||
govet:
|
|
||||||
check-shadowing: true
|
|
||||||
golint:
|
|
||||||
min-confidence: 0
|
|
||||||
gocyclo:
|
|
||||||
min-complexity: 50
|
|
||||||
maligned:
|
|
||||||
suggest-new: true
|
|
||||||
dupl:
|
|
||||||
threshold: 100
|
|
||||||
goconst:
|
|
||||||
min-len: 2
|
|
||||||
min-occurrences: 3
|
|
||||||
|
|
||||||
linters:
|
|
||||||
enable-all: true
|
|
||||||
disable:
|
|
||||||
- maligned
|
|
||||||
- lll
|
|
||||||
- godox
|
|
||||||
- gocognit
|
|
||||||
- whitespace
|
|
||||||
- wsl
|
|
||||||
- funlen
|
|
||||||
- gochecknoglobals
|
|
||||||
- gochecknoinits
|
|
||||||
- scopelint
|
|
19
vendor/github.com/go-openapi/validate/.travis.yml
generated
vendored
19
vendor/github.com/go-openapi/validate/.travis.yml
generated
vendored
@ -1,19 +0,0 @@
|
|||||||
after_success:
|
|
||||||
- bash <(curl -s https://codecov.io/bash)
|
|
||||||
go:
|
|
||||||
- 1.11.x
|
|
||||||
- 1.12.x
|
|
||||||
install:
|
|
||||||
- GO111MODULE=off go get -u gotest.tools/gotestsum
|
|
||||||
env:
|
|
||||||
- GO111MODULE=on
|
|
||||||
language: go
|
|
||||||
notifications:
|
|
||||||
slack:
|
|
||||||
secure: EmObnQuM9Mw8J9vpFaKKHqSMN4Wsr/A9+v7ewAD5cEhA0T1P4m7MbJMiJOhxUhj/X+BFh2DamW+P2lT8mybj5wg8wnkQ2BteKA8Tawi6f9PRw2NRheO8tAi8o/npLnlmet0kc93mn+oLuqHw36w4+j5mkOl2FghkfGiUVhwrhkCP7KXQN+3TU87e+/HzQumlJ3nsE+6terVxkH3PmaUTsS5ONaODZfuxFpfb7RsoEl3skHf6d+tr+1nViLxxly7558Nc33C+W1mr0qiEvMLZ+kJ/CpGWBJ6CUJM3jm6hNe2eMuIPwEK2hxZob8c7n22VPap4K6a0bBRoydoDXaba+2sD7Ym6ivDO/DVyL44VeBBLyIiIBylDGQdZH+6SoWm90Qe/i7tnY/T5Ao5igT8f3cfQY1c3EsTfqmlDfrhmACBmwSlgkdVBLTprHL63JMY24LWmh4jhxsmMRZhCL4dze8su1w6pLN/pD1pGHtKYCEVbdTmaM3PblNRFf12XB7qosmQsgUndH4Vq3bTbU0s1pKjeDhRyLvFzvR0TBbo0pDLEoF1A/i5GVFWa7yLZNUDudQERRh7qv/xBl2excIaQ1sV4DSVm7bAE9l6Kp+yeHQJW2uN6Y3X8wu9gB9nv9l5HBze7wh8KE6PyWAOLYYqZg9/sAtsv/2GcQqXcKFF1zcA=
|
|
||||||
script:
|
|
||||||
- gotestsum -f short-verbose -- -race ./...
|
|
||||||
- gotestsum -f short-verbose -- -timeout=20m -coverprofile=coverage.txt -covermode=atomic -args -enable-long ./...
|
|
||||||
- gotestsum -f short-verbose -- -timeout=30m -args -enable-go-swagger ./...
|
|
||||||
- go get -u github.com/go-openapi/runtime@master
|
|
||||||
- gotestsum -f short-verbose -- -timeout=30m github.com/go-openapi/runtime/...
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user