Also add both apache and MIT license. Add a few explanations in READMEmain
parent
c5663f7619
commit
4931454c50
@ -0,0 +1,472 @@ |
||||
# This file is automatically @generated by Cargo. |
||||
# It is not intended for manual editing. |
||||
version = 3 |
||||
|
||||
[[package]] |
||||
name = "adler" |
||||
version = "1.0.2" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" |
||||
|
||||
[[package]] |
||||
name = "attohttpc" |
||||
version = "0.18.0" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "e69e13a99a7e6e070bb114f7ff381e58c7ccc188630121fc4c2fe4bcf24cd072" |
||||
dependencies = [ |
||||
"flate2", |
||||
"http", |
||||
"log", |
||||
"native-tls", |
||||
"openssl", |
||||
"url", |
||||
"wildmatch", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "autocfg" |
||||
version = "1.0.1" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" |
||||
|
||||
[[package]] |
||||
name = "bitflags" |
||||
version = "1.3.2" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" |
||||
|
||||
[[package]] |
||||
name = "bytes" |
||||
version = "1.1.0" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" |
||||
|
||||
[[package]] |
||||
name = "cc" |
||||
version = "1.0.72" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" |
||||
|
||||
[[package]] |
||||
name = "cfg-if" |
||||
version = "1.0.0" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" |
||||
|
||||
[[package]] |
||||
name = "chrono" |
||||
version = "0.4.19" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" |
||||
dependencies = [ |
||||
"libc", |
||||
"num-integer", |
||||
"num-traits", |
||||
"time", |
||||
"winapi", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "core-foundation" |
||||
version = "0.9.2" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "6888e10551bb93e424d8df1d07f1a8b4fceb0001a3a4b048bfc47554946f47b3" |
||||
dependencies = [ |
||||
"core-foundation-sys", |
||||
"libc", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "core-foundation-sys" |
||||
version = "0.8.3" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" |
||||
|
||||
[[package]] |
||||
name = "crc32fast" |
||||
version = "1.3.0" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "738c290dfaea84fc1ca15ad9c168d083b05a714e1efddd8edaab678dc28d2836" |
||||
dependencies = [ |
||||
"cfg-if", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "fastrand" |
||||
version = "1.6.0" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "779d043b6a0b90cc4c0ed7ee380a6504394cee7efd7db050e3774eee387324b2" |
||||
dependencies = [ |
||||
"instant", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "flate2" |
||||
version = "1.0.22" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "1e6988e897c1c9c485f43b47a529cef42fde0547f9d8d41a7062518f1d8fc53f" |
||||
dependencies = [ |
||||
"cfg-if", |
||||
"crc32fast", |
||||
"libc", |
||||
"miniz_oxide", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "fnv" |
||||
version = "1.0.7" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" |
||||
|
||||
[[package]] |
||||
name = "foreign-types" |
||||
version = "0.3.2" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" |
||||
dependencies = [ |
||||
"foreign-types-shared", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "foreign-types-shared" |
||||
version = "0.1.1" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" |
||||
|
||||
[[package]] |
||||
name = "form_urlencoded" |
||||
version = "1.0.1" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" |
||||
dependencies = [ |
||||
"matches", |
||||
"percent-encoding", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "hltv" |
||||
version = "0.1.0" |
||||
dependencies = [ |
||||
"attohttpc", |
||||
"chrono", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "http" |
||||
version = "0.2.6" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "31f4c6746584866f0feabcc69893c5b51beef3831656a968ed7ae254cdc4fd03" |
||||
dependencies = [ |
||||
"bytes", |
||||
"fnv", |
||||
"itoa", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "idna" |
||||
version = "0.2.3" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" |
||||
dependencies = [ |
||||
"matches", |
||||
"unicode-bidi", |
||||
"unicode-normalization", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "instant" |
||||
version = "0.1.12" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" |
||||
dependencies = [ |
||||
"cfg-if", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "itoa" |
||||
version = "1.0.1" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" |
||||
|
||||
[[package]] |
||||
name = "lazy_static" |
||||
version = "1.4.0" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" |
||||
|
||||
[[package]] |
||||
name = "libc" |
||||
version = "0.2.112" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "1b03d17f364a3a042d5e5d46b053bbbf82c92c9430c592dd4c064dc6ee997125" |
||||
|
||||
[[package]] |
||||
name = "log" |
||||
version = "0.4.14" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" |
||||
dependencies = [ |
||||
"cfg-if", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "matches" |
||||
version = "0.1.9" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" |
||||
|
||||
[[package]] |
||||
name = "miniz_oxide" |
||||
version = "0.4.4" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" |
||||
dependencies = [ |
||||
"adler", |
||||
"autocfg", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "native-tls" |
||||
version = "0.2.8" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "48ba9f7719b5a0f42f338907614285fb5fd70e53858141f69898a1fb7203b24d" |
||||
dependencies = [ |
||||
"lazy_static", |
||||
"libc", |
||||
"log", |
||||
"openssl", |
||||
"openssl-probe", |
||||
"openssl-sys", |
||||
"schannel", |
||||
"security-framework", |
||||
"security-framework-sys", |
||||
"tempfile", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "num-integer" |
||||
version = "0.1.44" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" |
||||
dependencies = [ |
||||
"autocfg", |
||||
"num-traits", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "num-traits" |
||||
version = "0.2.14" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" |
||||
dependencies = [ |
||||
"autocfg", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "once_cell" |
||||
version = "1.9.0" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5" |
||||
|
||||
[[package]] |
||||
name = "openssl" |
||||
version = "0.10.38" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "0c7ae222234c30df141154f159066c5093ff73b63204dcda7121eb082fc56a95" |
||||
dependencies = [ |
||||
"bitflags", |
||||
"cfg-if", |
||||
"foreign-types", |
||||
"libc", |
||||
"once_cell", |
||||
"openssl-sys", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "openssl-probe" |
||||
version = "0.1.5" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" |
||||
|
||||
[[package]] |
||||
name = "openssl-sys" |
||||
version = "0.9.72" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "7e46109c383602735fa0a2e48dd2b7c892b048e1bf69e5c3b1d804b7d9c203cb" |
||||
dependencies = [ |
||||
"autocfg", |
||||
"cc", |
||||
"libc", |
||||
"pkg-config", |
||||
"vcpkg", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "percent-encoding" |
||||
version = "2.1.0" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" |
||||
|
||||
[[package]] |
||||
name = "pkg-config" |
||||
version = "0.3.24" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe" |
||||
|
||||
[[package]] |
||||
name = "redox_syscall" |
||||
version = "0.2.10" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff" |
||||
dependencies = [ |
||||
"bitflags", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "remove_dir_all" |
||||
version = "0.5.3" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" |
||||
dependencies = [ |
||||
"winapi", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "schannel" |
||||
version = "0.1.19" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" |
||||
dependencies = [ |
||||
"lazy_static", |
||||
"winapi", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "security-framework" |
||||
version = "2.5.0" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "d09d3c15d814eda1d6a836f2f2b56a6abc1446c8a34351cb3180d3db92ffe4ce" |
||||
dependencies = [ |
||||
"bitflags", |
||||
"core-foundation", |
||||
"core-foundation-sys", |
||||
"libc", |
||||
"security-framework-sys", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "security-framework-sys" |
||||
version = "2.5.0" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "e90dd10c41c6bfc633da6e0c659bd25d31e0791e5974ac42970267d59eba87f7" |
||||
dependencies = [ |
||||
"core-foundation-sys", |
||||
"libc", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "tempfile" |
||||
version = "3.3.0" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" |
||||
dependencies = [ |
||||
"cfg-if", |
||||
"fastrand", |
||||
"libc", |
||||
"redox_syscall", |
||||
"remove_dir_all", |
||||
"winapi", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "time" |
||||
version = "0.1.44" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" |
||||
dependencies = [ |
||||
"libc", |
||||
"wasi", |
||||
"winapi", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "tinyvec" |
||||
version = "1.5.1" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2" |
||||
dependencies = [ |
||||
"tinyvec_macros", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "tinyvec_macros" |
||||
version = "0.1.0" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" |
||||
|
||||
[[package]] |
||||
name = "unicode-bidi" |
||||
version = "0.3.7" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f" |
||||
|
||||
[[package]] |
||||
name = "unicode-normalization" |
||||
version = "0.1.19" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" |
||||
dependencies = [ |
||||
"tinyvec", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "url" |
||||
version = "2.2.2" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" |
||||
dependencies = [ |
||||
"form_urlencoded", |
||||
"idna", |
||||
"matches", |
||||
"percent-encoding", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "vcpkg" |
||||
version = "0.2.15" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" |
||||
|
||||
[[package]] |
||||
name = "wasi" |
||||
version = "0.10.0+wasi-snapshot-preview1" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" |
||||
|
||||
[[package]] |
||||
name = "wildmatch" |
||||
version = "2.1.0" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "d6c48bd20df7e4ced539c12f570f937c6b4884928a87fee70a479d72f031d4e0" |
||||
|
||||
[[package]] |
||||
name = "winapi" |
||||
version = "0.3.9" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" |
||||
dependencies = [ |
||||
"winapi-i686-pc-windows-gnu", |
||||
"winapi-x86_64-pc-windows-gnu", |
||||
] |
||||
|
||||
[[package]] |
||||
name = "winapi-i686-pc-windows-gnu" |
||||
version = "0.4.0" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" |
||||
|
||||
[[package]] |
||||
name = "winapi-x86_64-pc-windows-gnu" |
||||
version = "0.4.0" |
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" |
@ -0,0 +1,201 @@ |
||||
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 2022 Adrian Alic (contact@alic.dev) |
||||
|
||||
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. |
@ -0,0 +1,21 @@ |
||||
MIT License |
||||
|
||||
Copyright (c) 2022 Adrian Alic (contact@alic.dev) |
||||
|
||||
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. |
@ -0,0 +1,31 @@ |
||||
# HLTV client - WIP |
||||
|
||||
**A crate for fetching and parsing esports data from [HLTV.org](https://www.hltv.org).** |
||||
|
||||
This is WIP. This crate should allow you to fetch and parse upcoming matches, results, |
||||
event information, player information. `hltv` uses blocking calls via `attohttpc`. |
||||
Might extend functionality to support async variants. |
||||
|
||||
```Rust |
||||
// Example |
||||
let q: Request<Match> = hltv::results() |
||||
.stars(1) |
||||
.date(d1, d2) |
||||
.type(EventType::LAN) |
||||
.build() |
||||
|
||||
let result = q.fetch() // type: Result<Vec<Match>, hltv::Error> |
||||
``` |
||||
|
||||
## Getting more detailed information |
||||
|
||||
This API mimics the way you discover information on HLTV. Summary pages like `hltv.org/matches` |
||||
contains less information in the HTML document than the detailed match-specific page. |
||||
|
||||
```rust |
||||
/// Example |
||||
``` |
||||
|
||||
## License |
||||
|
||||
This project is dual-licensed under the MIT and Apache 2.0 license. |
@ -0,0 +1,111 @@ |
||||
#![allow(warnings)] |
||||
|
||||
use chrono::{DateTime, Utc}; |
||||
|
||||
pub enum EventType { |
||||
LAN, |
||||
Online, |
||||
} |
||||
|
||||
pub enum MatchFormat { |
||||
Bo1, |
||||
Bo3, |
||||
Bo5, |
||||
Bo7, |
||||
} |
||||
|
||||
|
||||
/// Basic player information.
|
||||
pub struct Player { |
||||
pub id: u64, |
||||
pub nickname: String, |
||||
} |
||||
|
||||
/// Basic information about a team.
|
||||
pub struct Team { |
||||
/// HLTV-associated ID (found in the URL of team page).
|
||||
pub id: u64, |
||||
/// Name of the team.
|
||||
pub name: String, |
||||
} |
||||
|
||||
/// Basic information about a team.
|
||||
pub struct Event { |
||||
/// HLTV-associated ID (found in the URL of the event page).
|
||||
pub id: u64, |
||||
/// Name of the Event
|
||||
pub name: String, |
||||
} |
||||
|
||||
/// Contains detailed information about an event. Corresponds to data found on HLTV's event
|
||||
/// page.
|
||||
pub struct EventDetails { |
||||
/// HLTV-associated ID (found in the URL of the event page).
|
||||
pub id: u64, |
||||
/// Name of the event.
|
||||
pub name: String, |
||||
/// Date when the event starts.
|
||||
pub start_date: DateTime<Utc>, |
||||
/// Date when the event finished.
|
||||
pub end_date: DateTime<Utc>, |
||||
/// Price pool of the event. Can be a USD figure, or guaranteed spots in another tournament.
|
||||
pub price_pool: String, |
||||
|
||||
} |
||||
|
||||
/// Contains extensive information about a team.
|
||||
pub struct TeamDetails { |
||||
pub id: u64, |
||||
pub name: String, |
||||
pub players: [Player; 5], |
||||
} |
||||
|
||||
/// Contains a summary of match data.
|
||||
pub struct Match { |
||||
pub id: u64, |
||||
pub team1: Option<String>, |
||||
pub team2: Option<String>, |
||||
/// Name of the event.
|
||||
pub event: String, |
||||
pub format: MatchFormat, |
||||
pub result: Option<MatchResult>, |
||||
|
||||
/// Time when an upcoming match is supposed to start. If the match is finished,
|
||||
/// this date is the finish time (according to HLTV).
|
||||
pub date: DateTime<Utc>, |
||||
pub stars: u64, |
||||
} |
||||
|
||||
/// Contains detailed information about a match. Corresponds to data found on HLTV's
|
||||
/// match page.
|
||||
pub struct MatchDetails { |
||||
pub id: u64, |
||||
pub team1: Option<Team>, |
||||
pub team2: Option<Team>, |
||||
pub event: Event, |
||||
pub format: MatchFormat, |
||||
pub result: Option<MatchResult>, |
||||
} |
||||
|
||||
/// Refers to either the first or second team in a match, according to HLTV order.
|
||||
pub enum WhichTeam { |
||||
First, |
||||
Second, |
||||
None, |
||||
} |
||||
|
||||
/// Represents the result of a single map. Examples are: 16-14, 10-16, 19-17
|
||||
pub struct MapScore { |
||||
pub map: String, |
||||
pub team1_rounds: u64, |
||||
pub team2_rounds: u64, |
||||
} |
||||
|
||||
/// This is the map score of a match. Examples are: 1-0, 2-1, 1-2, 3-0, etc.
|
||||
pub struct MatchResult { |
||||
pub winner: WhichTeam, |
||||
/// Number of maps won by first team.
|
||||
pub team1_maps: u64, |
||||
/// Number of maps won by first team.
|
||||
pub team2_maps: u64, |
||||
} |
Loading…
Reference in new issue