├── .env_dist ├── .github ├── dependabot.yml └── workflows │ └── rust.yml ├── .gitignore ├── .gitmodules ├── Cargo.lock ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── README.md └── src ├── main.rs └── platforms ├── hackernews.rs ├── mod.rs ├── reddit.rs ├── slack.rs └── twitter.rs /.env_dist: -------------------------------------------------------------------------------- 1 | HN_USERNAME=XXXX 2 | HN_PASSWORD=XXXX 3 | REDDIT_CLIENT_ID=XXXX 4 | REDDIT_CLIENT_SECRET=XXXX 5 | REDDIT_USERNAME=XXXX 6 | REDDIT_PASSWORD=XXXX 7 | TWITTER_CONSUMER_KEY=XXXX 8 | TWITTER_CONSUMER_SECRET=XXXX 9 | TWITTER_ACCESS_KEY=XXXX 10 | TWITTER_ACCESS_SECRET=XXXX 11 | SLACK_TOKEN=XXXX -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: cargo 4 | directory: "/" 5 | schedule: 6 | interval: daily 7 | time: "04:00" 8 | open-pull-requests-limit: 10 9 | -------------------------------------------------------------------------------- /.github/workflows/rust.yml: -------------------------------------------------------------------------------- 1 | name: Rust 2 | 3 | on: [push] 4 | 5 | jobs: 6 | build: 7 | 8 | runs-on: ubuntu-latest 9 | 10 | steps: 11 | - uses: actions/checkout@v1 12 | - name: Build 13 | run: cargo build --verbose 14 | - name: Run tests 15 | run: cargo test --verbose 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | **/*.rs.bk 3 | .env 4 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "rawr"] 2 | path = rawr 3 | url = git@github.com:GyrosOfWar/rawr.git 4 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "adler32" 5 | version = "1.0.3" 6 | source = "registry+https://github.com/rust-lang/crates.io-index" 7 | 8 | [[package]] 9 | name = "aho-corasick" 10 | version = "0.5.3" 11 | source = "registry+https://github.com/rust-lang/crates.io-index" 12 | dependencies = [ 13 | "memchr 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", 14 | ] 15 | 16 | [[package]] 17 | name = "aho-corasick" 18 | version = "0.7.6" 19 | source = "registry+https://github.com/rust-lang/crates.io-index" 20 | dependencies = [ 21 | "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 22 | ] 23 | 24 | [[package]] 25 | name = "ansi_term" 26 | version = "0.11.0" 27 | source = "registry+https://github.com/rust-lang/crates.io-index" 28 | dependencies = [ 29 | "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", 30 | ] 31 | 32 | [[package]] 33 | name = "antidote" 34 | version = "1.0.0" 35 | source = "registry+https://github.com/rust-lang/crates.io-index" 36 | 37 | [[package]] 38 | name = "arrayref" 39 | version = "0.3.4" 40 | source = "registry+https://github.com/rust-lang/crates.io-index" 41 | 42 | [[package]] 43 | name = "arrayvec" 44 | version = "0.4.7" 45 | source = "registry+https://github.com/rust-lang/crates.io-index" 46 | dependencies = [ 47 | "nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", 48 | ] 49 | 50 | [[package]] 51 | name = "atty" 52 | version = "0.2.11" 53 | source = "registry+https://github.com/rust-lang/crates.io-index" 54 | dependencies = [ 55 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 56 | "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", 57 | "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", 58 | ] 59 | 60 | [[package]] 61 | name = "autocfg" 62 | version = "0.1.7" 63 | source = "registry+https://github.com/rust-lang/crates.io-index" 64 | 65 | [[package]] 66 | name = "backtrace" 67 | version = "0.3.9" 68 | source = "registry+https://github.com/rust-lang/crates.io-index" 69 | dependencies = [ 70 | "backtrace-sys 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", 71 | "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 72 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 73 | "rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", 74 | "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", 75 | ] 76 | 77 | [[package]] 78 | name = "backtrace-sys" 79 | version = "0.1.23" 80 | source = "registry+https://github.com/rust-lang/crates.io-index" 81 | dependencies = [ 82 | "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", 83 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 84 | ] 85 | 86 | [[package]] 87 | name = "base64" 88 | version = "0.6.0" 89 | source = "registry+https://github.com/rust-lang/crates.io-index" 90 | dependencies = [ 91 | "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", 92 | "safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 93 | ] 94 | 95 | [[package]] 96 | name = "base64" 97 | version = "0.9.2" 98 | source = "registry+https://github.com/rust-lang/crates.io-index" 99 | dependencies = [ 100 | "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", 101 | "safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 102 | ] 103 | 104 | [[package]] 105 | name = "base64" 106 | version = "0.10.1" 107 | source = "registry+https://github.com/rust-lang/crates.io-index" 108 | dependencies = [ 109 | "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", 110 | ] 111 | 112 | [[package]] 113 | name = "bitflags" 114 | version = "0.9.1" 115 | source = "registry+https://github.com/rust-lang/crates.io-index" 116 | 117 | [[package]] 118 | name = "bitflags" 119 | version = "1.0.3" 120 | source = "registry+https://github.com/rust-lang/crates.io-index" 121 | 122 | [[package]] 123 | name = "block-buffer" 124 | version = "0.3.3" 125 | source = "registry+https://github.com/rust-lang/crates.io-index" 126 | dependencies = [ 127 | "arrayref 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", 128 | "byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 129 | ] 130 | 131 | [[package]] 132 | name = "byte-tools" 133 | version = "0.2.0" 134 | source = "registry+https://github.com/rust-lang/crates.io-index" 135 | 136 | [[package]] 137 | name = "byteorder" 138 | version = "1.3.2" 139 | source = "registry+https://github.com/rust-lang/crates.io-index" 140 | 141 | [[package]] 142 | name = "bytes" 143 | version = "0.4.9" 144 | source = "registry+https://github.com/rust-lang/crates.io-index" 145 | dependencies = [ 146 | "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", 147 | "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 148 | ] 149 | 150 | [[package]] 151 | name = "c2-chacha" 152 | version = "0.2.3" 153 | source = "registry+https://github.com/rust-lang/crates.io-index" 154 | dependencies = [ 155 | "ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 156 | ] 157 | 158 | [[package]] 159 | name = "cc" 160 | version = "1.0.18" 161 | source = "registry+https://github.com/rust-lang/crates.io-index" 162 | 163 | [[package]] 164 | name = "cfg-if" 165 | version = "0.1.4" 166 | source = "registry+https://github.com/rust-lang/crates.io-index" 167 | 168 | [[package]] 169 | name = "chrono" 170 | version = "0.4.5" 171 | source = "registry+https://github.com/rust-lang/crates.io-index" 172 | dependencies = [ 173 | "num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", 174 | "num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", 175 | "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", 176 | ] 177 | 178 | [[package]] 179 | name = "clap" 180 | version = "2.33.0" 181 | source = "registry+https://github.com/rust-lang/crates.io-index" 182 | dependencies = [ 183 | "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", 184 | "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", 185 | "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", 186 | "strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", 187 | "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", 188 | "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 189 | "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", 190 | ] 191 | 192 | [[package]] 193 | name = "cloudabi" 194 | version = "0.0.3" 195 | source = "registry+https://github.com/rust-lang/crates.io-index" 196 | dependencies = [ 197 | "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", 198 | ] 199 | 200 | [[package]] 201 | name = "constant_time_eq" 202 | version = "0.1.3" 203 | source = "registry+https://github.com/rust-lang/crates.io-index" 204 | 205 | [[package]] 206 | name = "cookie" 207 | version = "0.11.1" 208 | source = "registry+https://github.com/rust-lang/crates.io-index" 209 | dependencies = [ 210 | "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", 211 | ] 212 | 213 | [[package]] 214 | name = "cookie" 215 | version = "0.12.0" 216 | source = "registry+https://github.com/rust-lang/crates.io-index" 217 | dependencies = [ 218 | "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", 219 | "url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)", 220 | ] 221 | 222 | [[package]] 223 | name = "core-foundation" 224 | version = "0.2.3" 225 | source = "registry+https://github.com/rust-lang/crates.io-index" 226 | dependencies = [ 227 | "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 228 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 229 | ] 230 | 231 | [[package]] 232 | name = "core-foundation" 233 | version = "0.6.4" 234 | source = "registry+https://github.com/rust-lang/crates.io-index" 235 | dependencies = [ 236 | "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", 237 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 238 | ] 239 | 240 | [[package]] 241 | name = "core-foundation-sys" 242 | version = "0.2.3" 243 | source = "registry+https://github.com/rust-lang/crates.io-index" 244 | dependencies = [ 245 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 246 | ] 247 | 248 | [[package]] 249 | name = "core-foundation-sys" 250 | version = "0.6.2" 251 | source = "registry+https://github.com/rust-lang/crates.io-index" 252 | 253 | [[package]] 254 | name = "crc32fast" 255 | version = "1.2.0" 256 | source = "registry+https://github.com/rust-lang/crates.io-index" 257 | dependencies = [ 258 | "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 259 | ] 260 | 261 | [[package]] 262 | name = "crossbeam-deque" 263 | version = "0.3.1" 264 | source = "registry+https://github.com/rust-lang/crates.io-index" 265 | dependencies = [ 266 | "crossbeam-epoch 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", 267 | "crossbeam-utils 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", 268 | ] 269 | 270 | [[package]] 271 | name = "crossbeam-epoch" 272 | version = "0.4.3" 273 | source = "registry+https://github.com/rust-lang/crates.io-index" 274 | dependencies = [ 275 | "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", 276 | "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 277 | "crossbeam-utils 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", 278 | "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 279 | "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 280 | "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 281 | ] 282 | 283 | [[package]] 284 | name = "crossbeam-utils" 285 | version = "0.3.2" 286 | source = "registry+https://github.com/rust-lang/crates.io-index" 287 | dependencies = [ 288 | "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 289 | ] 290 | 291 | [[package]] 292 | name = "crypto-mac" 293 | version = "0.4.0" 294 | source = "registry+https://github.com/rust-lang/crates.io-index" 295 | dependencies = [ 296 | "constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 297 | "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", 298 | ] 299 | 300 | [[package]] 301 | name = "digest" 302 | version = "0.6.2" 303 | source = "registry+https://github.com/rust-lang/crates.io-index" 304 | dependencies = [ 305 | "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", 306 | ] 307 | 308 | [[package]] 309 | name = "dotenv" 310 | version = "0.15.0" 311 | source = "registry+https://github.com/rust-lang/crates.io-index" 312 | 313 | [[package]] 314 | name = "dotenv_codegen" 315 | version = "0.15.0" 316 | source = "registry+https://github.com/rust-lang/crates.io-index" 317 | dependencies = [ 318 | "dotenv_codegen_implementation 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)", 319 | "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)", 320 | ] 321 | 322 | [[package]] 323 | name = "dotenv_codegen_implementation" 324 | version = "0.15.0" 325 | source = "registry+https://github.com/rust-lang/crates.io-index" 326 | dependencies = [ 327 | "dotenv 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)", 328 | "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)", 329 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", 330 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 331 | "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", 332 | ] 333 | 334 | [[package]] 335 | name = "dtoa" 336 | version = "0.4.3" 337 | source = "registry+https://github.com/rust-lang/crates.io-index" 338 | 339 | [[package]] 340 | name = "egg-mode" 341 | version = "0.12.0" 342 | source = "registry+https://github.com/rust-lang/crates.io-index" 343 | dependencies = [ 344 | "chrono 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", 345 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 346 | "hmac 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", 347 | "hyper 0.11.27 (registry+https://github.com/rust-lang/crates.io-index)", 348 | "hyper-tls 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 349 | "lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", 350 | "mime 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", 351 | "native-tls 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 352 | "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", 353 | "regex 0.1.80 (registry+https://github.com/rust-lang/crates.io-index)", 354 | "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", 355 | "sha-1 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", 356 | "tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", 357 | "url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)", 358 | ] 359 | 360 | [[package]] 361 | name = "encoding_rs" 362 | version = "0.8.20" 363 | source = "registry+https://github.com/rust-lang/crates.io-index" 364 | dependencies = [ 365 | "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 366 | ] 367 | 368 | [[package]] 369 | name = "failure" 370 | version = "0.1.6" 371 | source = "registry+https://github.com/rust-lang/crates.io-index" 372 | dependencies = [ 373 | "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", 374 | "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", 375 | ] 376 | 377 | [[package]] 378 | name = "failure_derive" 379 | version = "0.1.6" 380 | source = "registry+https://github.com/rust-lang/crates.io-index" 381 | dependencies = [ 382 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", 383 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 384 | "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", 385 | "synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", 386 | ] 387 | 388 | [[package]] 389 | name = "fake-simd" 390 | version = "0.1.2" 391 | source = "registry+https://github.com/rust-lang/crates.io-index" 392 | 393 | [[package]] 394 | name = "fantoccini" 395 | version = "0.11.9" 396 | source = "registry+https://github.com/rust-lang/crates.io-index" 397 | dependencies = [ 398 | "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", 399 | "cookie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", 400 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 401 | "http 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", 402 | "hyper 0.12.19 (registry+https://github.com/rust-lang/crates.io-index)", 403 | "hyper-tls 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", 404 | "mime 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", 405 | "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", 406 | "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)", 407 | "tokio 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 408 | "url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)", 409 | "webdriver 0.39.0 (registry+https://github.com/rust-lang/crates.io-index)", 410 | ] 411 | 412 | [[package]] 413 | name = "fnv" 414 | version = "1.0.6" 415 | source = "registry+https://github.com/rust-lang/crates.io-index" 416 | 417 | [[package]] 418 | name = "foreign-types" 419 | version = "0.3.2" 420 | source = "registry+https://github.com/rust-lang/crates.io-index" 421 | dependencies = [ 422 | "foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 423 | ] 424 | 425 | [[package]] 426 | name = "foreign-types-shared" 427 | version = "0.1.1" 428 | source = "registry+https://github.com/rust-lang/crates.io-index" 429 | 430 | [[package]] 431 | name = "fuchsia-cprng" 432 | version = "0.1.1" 433 | source = "registry+https://github.com/rust-lang/crates.io-index" 434 | 435 | [[package]] 436 | name = "fuchsia-zircon" 437 | version = "0.3.3" 438 | source = "registry+https://github.com/rust-lang/crates.io-index" 439 | dependencies = [ 440 | "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", 441 | "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 442 | ] 443 | 444 | [[package]] 445 | name = "fuchsia-zircon-sys" 446 | version = "0.3.3" 447 | source = "registry+https://github.com/rust-lang/crates.io-index" 448 | 449 | [[package]] 450 | name = "futures" 451 | version = "0.1.29" 452 | source = "registry+https://github.com/rust-lang/crates.io-index" 453 | 454 | [[package]] 455 | name = "futures-cpupool" 456 | version = "0.1.8" 457 | source = "registry+https://github.com/rust-lang/crates.io-index" 458 | dependencies = [ 459 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 460 | "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", 461 | ] 462 | 463 | [[package]] 464 | name = "generic-array" 465 | version = "0.8.3" 466 | source = "registry+https://github.com/rust-lang/crates.io-index" 467 | dependencies = [ 468 | "nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", 469 | "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", 470 | ] 471 | 472 | [[package]] 473 | name = "getrandom" 474 | version = "0.1.12" 475 | source = "registry+https://github.com/rust-lang/crates.io-index" 476 | dependencies = [ 477 | "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 478 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 479 | "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", 480 | ] 481 | 482 | [[package]] 483 | name = "h2" 484 | version = "0.1.26" 485 | source = "registry+https://github.com/rust-lang/crates.io-index" 486 | dependencies = [ 487 | "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", 488 | "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", 489 | "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", 490 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 491 | "http 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", 492 | "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 493 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", 494 | "slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", 495 | "string 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 496 | "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 497 | ] 498 | 499 | [[package]] 500 | name = "heck" 501 | version = "0.3.1" 502 | source = "registry+https://github.com/rust-lang/crates.io-index" 503 | dependencies = [ 504 | "unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 505 | ] 506 | 507 | [[package]] 508 | name = "hello-rs" 509 | version = "0.1.0" 510 | dependencies = [ 511 | "dotenv 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)", 512 | "dotenv_codegen 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)", 513 | "egg-mode 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", 514 | "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", 515 | "fantoccini 0.11.9 (registry+https://github.com/rust-lang/crates.io-index)", 516 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 517 | "rawr 0.2.0", 518 | "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", 519 | "slack_api 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)", 520 | "structopt 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", 521 | "tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", 522 | ] 523 | 524 | [[package]] 525 | name = "hmac" 526 | version = "0.4.2" 527 | source = "registry+https://github.com/rust-lang/crates.io-index" 528 | dependencies = [ 529 | "crypto-mac 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 530 | "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", 531 | "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", 532 | ] 533 | 534 | [[package]] 535 | name = "http" 536 | version = "0.1.19" 537 | source = "registry+https://github.com/rust-lang/crates.io-index" 538 | dependencies = [ 539 | "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", 540 | "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", 541 | "itoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", 542 | ] 543 | 544 | [[package]] 545 | name = "httparse" 546 | version = "1.3.2" 547 | source = "registry+https://github.com/rust-lang/crates.io-index" 548 | 549 | [[package]] 550 | name = "hyper" 551 | version = "0.10.13" 552 | source = "registry+https://github.com/rust-lang/crates.io-index" 553 | dependencies = [ 554 | "base64 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", 555 | "httparse 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", 556 | "language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 557 | "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", 558 | "mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 559 | "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", 560 | "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", 561 | "traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 562 | "typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 563 | "unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", 564 | "url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)", 565 | ] 566 | 567 | [[package]] 568 | name = "hyper" 569 | version = "0.11.27" 570 | source = "registry+https://github.com/rust-lang/crates.io-index" 571 | dependencies = [ 572 | "base64 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", 573 | "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", 574 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 575 | "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", 576 | "httparse 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", 577 | "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 578 | "language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 579 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", 580 | "mime 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", 581 | "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", 582 | "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", 583 | "relay 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 584 | "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", 585 | "tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", 586 | "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 587 | "tokio-proto 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 588 | "tokio-service 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 589 | "unicase 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 590 | "want 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 591 | ] 592 | 593 | [[package]] 594 | name = "hyper" 595 | version = "0.12.19" 596 | source = "registry+https://github.com/rust-lang/crates.io-index" 597 | dependencies = [ 598 | "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", 599 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 600 | "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", 601 | "h2 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)", 602 | "http 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", 603 | "httparse 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", 604 | "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 605 | "itoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", 606 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", 607 | "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", 608 | "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", 609 | "tokio 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 610 | "tokio-executor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 611 | "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 612 | "tokio-reactor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 613 | "tokio-tcp 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 614 | "tokio-threadpool 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 615 | "tokio-timer 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", 616 | "want 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)", 617 | ] 618 | 619 | [[package]] 620 | name = "hyper-native-tls" 621 | version = "0.2.4" 622 | source = "registry+https://github.com/rust-lang/crates.io-index" 623 | dependencies = [ 624 | "antidote 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", 625 | "hyper 0.10.13 (registry+https://github.com/rust-lang/crates.io-index)", 626 | "native-tls 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 627 | ] 628 | 629 | [[package]] 630 | name = "hyper-tls" 631 | version = "0.1.4" 632 | source = "registry+https://github.com/rust-lang/crates.io-index" 633 | dependencies = [ 634 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 635 | "hyper 0.11.27 (registry+https://github.com/rust-lang/crates.io-index)", 636 | "native-tls 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 637 | "tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", 638 | "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 639 | "tokio-service 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 640 | "tokio-tls 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 641 | ] 642 | 643 | [[package]] 644 | name = "hyper-tls" 645 | version = "0.3.2" 646 | source = "registry+https://github.com/rust-lang/crates.io-index" 647 | dependencies = [ 648 | "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", 649 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 650 | "hyper 0.12.19 (registry+https://github.com/rust-lang/crates.io-index)", 651 | "native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 652 | "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 653 | ] 654 | 655 | [[package]] 656 | name = "idna" 657 | version = "0.1.5" 658 | source = "registry+https://github.com/rust-lang/crates.io-index" 659 | dependencies = [ 660 | "matches 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 661 | "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", 662 | "unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 663 | ] 664 | 665 | [[package]] 666 | name = "indexmap" 667 | version = "1.3.0" 668 | source = "registry+https://github.com/rust-lang/crates.io-index" 669 | dependencies = [ 670 | "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 671 | ] 672 | 673 | [[package]] 674 | name = "iovec" 675 | version = "0.1.2" 676 | source = "registry+https://github.com/rust-lang/crates.io-index" 677 | dependencies = [ 678 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 679 | "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", 680 | ] 681 | 682 | [[package]] 683 | name = "itoa" 684 | version = "0.4.2" 685 | source = "registry+https://github.com/rust-lang/crates.io-index" 686 | 687 | [[package]] 688 | name = "kernel32-sys" 689 | version = "0.2.2" 690 | source = "registry+https://github.com/rust-lang/crates.io-index" 691 | dependencies = [ 692 | "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", 693 | "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 694 | ] 695 | 696 | [[package]] 697 | name = "language-tags" 698 | version = "0.2.2" 699 | source = "registry+https://github.com/rust-lang/crates.io-index" 700 | 701 | [[package]] 702 | name = "lazy_static" 703 | version = "0.2.11" 704 | source = "registry+https://github.com/rust-lang/crates.io-index" 705 | 706 | [[package]] 707 | name = "lazy_static" 708 | version = "1.1.0" 709 | source = "registry+https://github.com/rust-lang/crates.io-index" 710 | dependencies = [ 711 | "version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 712 | ] 713 | 714 | [[package]] 715 | name = "lazycell" 716 | version = "0.6.0" 717 | source = "registry+https://github.com/rust-lang/crates.io-index" 718 | 719 | [[package]] 720 | name = "libc" 721 | version = "0.2.65" 722 | source = "registry+https://github.com/rust-lang/crates.io-index" 723 | 724 | [[package]] 725 | name = "libflate" 726 | version = "0.1.27" 727 | source = "registry+https://github.com/rust-lang/crates.io-index" 728 | dependencies = [ 729 | "adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", 730 | "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 731 | "rle-decode-fast 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", 732 | "take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 733 | ] 734 | 735 | [[package]] 736 | name = "log" 737 | version = "0.3.9" 738 | source = "registry+https://github.com/rust-lang/crates.io-index" 739 | dependencies = [ 740 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", 741 | ] 742 | 743 | [[package]] 744 | name = "log" 745 | version = "0.4.8" 746 | source = "registry+https://github.com/rust-lang/crates.io-index" 747 | dependencies = [ 748 | "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 749 | ] 750 | 751 | [[package]] 752 | name = "matches" 753 | version = "0.1.7" 754 | source = "registry+https://github.com/rust-lang/crates.io-index" 755 | 756 | [[package]] 757 | name = "memchr" 758 | version = "0.1.11" 759 | source = "registry+https://github.com/rust-lang/crates.io-index" 760 | dependencies = [ 761 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 762 | ] 763 | 764 | [[package]] 765 | name = "memchr" 766 | version = "2.2.1" 767 | source = "registry+https://github.com/rust-lang/crates.io-index" 768 | 769 | [[package]] 770 | name = "memoffset" 771 | version = "0.2.1" 772 | source = "registry+https://github.com/rust-lang/crates.io-index" 773 | 774 | [[package]] 775 | name = "mime" 776 | version = "0.2.6" 777 | source = "registry+https://github.com/rust-lang/crates.io-index" 778 | dependencies = [ 779 | "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", 780 | ] 781 | 782 | [[package]] 783 | name = "mime" 784 | version = "0.3.9" 785 | source = "registry+https://github.com/rust-lang/crates.io-index" 786 | dependencies = [ 787 | "unicase 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 788 | ] 789 | 790 | [[package]] 791 | name = "mime_guess" 792 | version = "2.0.0-alpha.6" 793 | source = "registry+https://github.com/rust-lang/crates.io-index" 794 | dependencies = [ 795 | "mime 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", 796 | "phf 0.7.22 (registry+https://github.com/rust-lang/crates.io-index)", 797 | "phf_codegen 0.7.22 (registry+https://github.com/rust-lang/crates.io-index)", 798 | "unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", 799 | ] 800 | 801 | [[package]] 802 | name = "mio" 803 | version = "0.6.15" 804 | source = "registry+https://github.com/rust-lang/crates.io-index" 805 | dependencies = [ 806 | "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 807 | "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 808 | "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 809 | "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 810 | "lazycell 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", 811 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 812 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", 813 | "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 814 | "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", 815 | "slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", 816 | "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", 817 | ] 818 | 819 | [[package]] 820 | name = "miow" 821 | version = "0.2.1" 822 | source = "registry+https://github.com/rust-lang/crates.io-index" 823 | dependencies = [ 824 | "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 825 | "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", 826 | "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", 827 | "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 828 | ] 829 | 830 | [[package]] 831 | name = "native-tls" 832 | version = "0.1.5" 833 | source = "registry+https://github.com/rust-lang/crates.io-index" 834 | dependencies = [ 835 | "lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", 836 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 837 | "openssl 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", 838 | "schannel 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", 839 | "security-framework 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", 840 | "security-framework-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", 841 | "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 842 | ] 843 | 844 | [[package]] 845 | name = "native-tls" 846 | version = "0.2.3" 847 | source = "registry+https://github.com/rust-lang/crates.io-index" 848 | dependencies = [ 849 | "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 850 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 851 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", 852 | "openssl 0.10.25 (registry+https://github.com/rust-lang/crates.io-index)", 853 | "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 854 | "openssl-sys 0.9.52 (registry+https://github.com/rust-lang/crates.io-index)", 855 | "schannel 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", 856 | "security-framework 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 857 | "security-framework-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 858 | "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 859 | ] 860 | 861 | [[package]] 862 | name = "net2" 863 | version = "0.2.33" 864 | source = "registry+https://github.com/rust-lang/crates.io-index" 865 | dependencies = [ 866 | "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 867 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 868 | "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", 869 | ] 870 | 871 | [[package]] 872 | name = "nodrop" 873 | version = "0.1.12" 874 | source = "registry+https://github.com/rust-lang/crates.io-index" 875 | 876 | [[package]] 877 | name = "num-integer" 878 | version = "0.1.39" 879 | source = "registry+https://github.com/rust-lang/crates.io-index" 880 | dependencies = [ 881 | "num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", 882 | ] 883 | 884 | [[package]] 885 | name = "num-traits" 886 | version = "0.2.5" 887 | source = "registry+https://github.com/rust-lang/crates.io-index" 888 | 889 | [[package]] 890 | name = "num_cpus" 891 | version = "1.8.0" 892 | source = "registry+https://github.com/rust-lang/crates.io-index" 893 | dependencies = [ 894 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 895 | ] 896 | 897 | [[package]] 898 | name = "openssl" 899 | version = "0.9.24" 900 | source = "registry+https://github.com/rust-lang/crates.io-index" 901 | dependencies = [ 902 | "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", 903 | "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", 904 | "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 905 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 906 | "openssl-sys 0.9.52 (registry+https://github.com/rust-lang/crates.io-index)", 907 | ] 908 | 909 | [[package]] 910 | name = "openssl" 911 | version = "0.10.25" 912 | source = "registry+https://github.com/rust-lang/crates.io-index" 913 | dependencies = [ 914 | "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", 915 | "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 916 | "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", 917 | "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 918 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 919 | "openssl-sys 0.9.52 (registry+https://github.com/rust-lang/crates.io-index)", 920 | ] 921 | 922 | [[package]] 923 | name = "openssl-probe" 924 | version = "0.1.2" 925 | source = "registry+https://github.com/rust-lang/crates.io-index" 926 | 927 | [[package]] 928 | name = "openssl-sys" 929 | version = "0.9.52" 930 | source = "registry+https://github.com/rust-lang/crates.io-index" 931 | dependencies = [ 932 | "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 933 | "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", 934 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 935 | "pkg-config 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)", 936 | "vcpkg 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", 937 | ] 938 | 939 | [[package]] 940 | name = "percent-encoding" 941 | version = "1.0.1" 942 | source = "registry+https://github.com/rust-lang/crates.io-index" 943 | 944 | [[package]] 945 | name = "phf" 946 | version = "0.7.22" 947 | source = "registry+https://github.com/rust-lang/crates.io-index" 948 | dependencies = [ 949 | "phf_shared 0.7.22 (registry+https://github.com/rust-lang/crates.io-index)", 950 | ] 951 | 952 | [[package]] 953 | name = "phf_codegen" 954 | version = "0.7.22" 955 | source = "registry+https://github.com/rust-lang/crates.io-index" 956 | dependencies = [ 957 | "phf_generator 0.7.22 (registry+https://github.com/rust-lang/crates.io-index)", 958 | "phf_shared 0.7.22 (registry+https://github.com/rust-lang/crates.io-index)", 959 | ] 960 | 961 | [[package]] 962 | name = "phf_generator" 963 | version = "0.7.22" 964 | source = "registry+https://github.com/rust-lang/crates.io-index" 965 | dependencies = [ 966 | "phf_shared 0.7.22 (registry+https://github.com/rust-lang/crates.io-index)", 967 | "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", 968 | ] 969 | 970 | [[package]] 971 | name = "phf_shared" 972 | version = "0.7.22" 973 | source = "registry+https://github.com/rust-lang/crates.io-index" 974 | dependencies = [ 975 | "siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 976 | "unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", 977 | ] 978 | 979 | [[package]] 980 | name = "pkg-config" 981 | version = "0.3.13" 982 | source = "registry+https://github.com/rust-lang/crates.io-index" 983 | 984 | [[package]] 985 | name = "ppv-lite86" 986 | version = "0.2.6" 987 | source = "registry+https://github.com/rust-lang/crates.io-index" 988 | 989 | [[package]] 990 | name = "proc-macro-error" 991 | version = "0.2.6" 992 | source = "registry+https://github.com/rust-lang/crates.io-index" 993 | dependencies = [ 994 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", 995 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 996 | "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", 997 | ] 998 | 999 | [[package]] 1000 | name = "proc-macro-hack" 1001 | version = "0.5.11" 1002 | source = "registry+https://github.com/rust-lang/crates.io-index" 1003 | dependencies = [ 1004 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", 1005 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 1006 | "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", 1007 | ] 1008 | 1009 | [[package]] 1010 | name = "proc-macro2" 1011 | version = "0.4.11" 1012 | source = "registry+https://github.com/rust-lang/crates.io-index" 1013 | dependencies = [ 1014 | "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 1015 | ] 1016 | 1017 | [[package]] 1018 | name = "proc-macro2" 1019 | version = "1.0.6" 1020 | source = "registry+https://github.com/rust-lang/crates.io-index" 1021 | dependencies = [ 1022 | "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 1023 | ] 1024 | 1025 | [[package]] 1026 | name = "quote" 1027 | version = "0.6.6" 1028 | source = "registry+https://github.com/rust-lang/crates.io-index" 1029 | dependencies = [ 1030 | "proc-macro2 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", 1031 | ] 1032 | 1033 | [[package]] 1034 | name = "quote" 1035 | version = "1.0.2" 1036 | source = "registry+https://github.com/rust-lang/crates.io-index" 1037 | dependencies = [ 1038 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", 1039 | ] 1040 | 1041 | [[package]] 1042 | name = "rand" 1043 | version = "0.3.22" 1044 | source = "registry+https://github.com/rust-lang/crates.io-index" 1045 | dependencies = [ 1046 | "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 1047 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 1048 | "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", 1049 | ] 1050 | 1051 | [[package]] 1052 | name = "rand" 1053 | version = "0.4.2" 1054 | source = "registry+https://github.com/rust-lang/crates.io-index" 1055 | dependencies = [ 1056 | "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 1057 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 1058 | "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", 1059 | ] 1060 | 1061 | [[package]] 1062 | name = "rand" 1063 | version = "0.6.5" 1064 | source = "registry+https://github.com/rust-lang/crates.io-index" 1065 | dependencies = [ 1066 | "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 1067 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 1068 | "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 1069 | "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", 1070 | "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 1071 | "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 1072 | "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 1073 | "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 1074 | "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 1075 | "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 1076 | "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", 1077 | ] 1078 | 1079 | [[package]] 1080 | name = "rand" 1081 | version = "0.7.2" 1082 | source = "registry+https://github.com/rust-lang/crates.io-index" 1083 | dependencies = [ 1084 | "getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", 1085 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 1086 | "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 1087 | "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", 1088 | "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 1089 | ] 1090 | 1091 | [[package]] 1092 | name = "rand_chacha" 1093 | version = "0.1.1" 1094 | source = "registry+https://github.com/rust-lang/crates.io-index" 1095 | dependencies = [ 1096 | "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 1097 | "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 1098 | ] 1099 | 1100 | [[package]] 1101 | name = "rand_chacha" 1102 | version = "0.2.1" 1103 | source = "registry+https://github.com/rust-lang/crates.io-index" 1104 | dependencies = [ 1105 | "c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 1106 | "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", 1107 | ] 1108 | 1109 | [[package]] 1110 | name = "rand_core" 1111 | version = "0.3.1" 1112 | source = "registry+https://github.com/rust-lang/crates.io-index" 1113 | dependencies = [ 1114 | "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", 1115 | ] 1116 | 1117 | [[package]] 1118 | name = "rand_core" 1119 | version = "0.4.2" 1120 | source = "registry+https://github.com/rust-lang/crates.io-index" 1121 | 1122 | [[package]] 1123 | name = "rand_core" 1124 | version = "0.5.1" 1125 | source = "registry+https://github.com/rust-lang/crates.io-index" 1126 | dependencies = [ 1127 | "getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", 1128 | ] 1129 | 1130 | [[package]] 1131 | name = "rand_hc" 1132 | version = "0.1.0" 1133 | source = "registry+https://github.com/rust-lang/crates.io-index" 1134 | dependencies = [ 1135 | "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 1136 | ] 1137 | 1138 | [[package]] 1139 | name = "rand_hc" 1140 | version = "0.2.0" 1141 | source = "registry+https://github.com/rust-lang/crates.io-index" 1142 | dependencies = [ 1143 | "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", 1144 | ] 1145 | 1146 | [[package]] 1147 | name = "rand_isaac" 1148 | version = "0.1.1" 1149 | source = "registry+https://github.com/rust-lang/crates.io-index" 1150 | dependencies = [ 1151 | "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 1152 | ] 1153 | 1154 | [[package]] 1155 | name = "rand_jitter" 1156 | version = "0.1.4" 1157 | source = "registry+https://github.com/rust-lang/crates.io-index" 1158 | dependencies = [ 1159 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 1160 | "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", 1161 | "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", 1162 | ] 1163 | 1164 | [[package]] 1165 | name = "rand_os" 1166 | version = "0.1.3" 1167 | source = "registry+https://github.com/rust-lang/crates.io-index" 1168 | dependencies = [ 1169 | "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", 1170 | "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 1171 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 1172 | "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", 1173 | "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 1174 | "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", 1175 | ] 1176 | 1177 | [[package]] 1178 | name = "rand_pcg" 1179 | version = "0.1.2" 1180 | source = "registry+https://github.com/rust-lang/crates.io-index" 1181 | dependencies = [ 1182 | "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 1183 | "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", 1184 | ] 1185 | 1186 | [[package]] 1187 | name = "rand_xorshift" 1188 | version = "0.1.1" 1189 | source = "registry+https://github.com/rust-lang/crates.io-index" 1190 | dependencies = [ 1191 | "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 1192 | ] 1193 | 1194 | [[package]] 1195 | name = "rawr" 1196 | version = "0.2.0" 1197 | dependencies = [ 1198 | "hyper 0.10.13 (registry+https://github.com/rust-lang/crates.io-index)", 1199 | "hyper-native-tls 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", 1200 | "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", 1201 | "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", 1202 | "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)", 1203 | ] 1204 | 1205 | [[package]] 1206 | name = "rdrand" 1207 | version = "0.4.0" 1208 | source = "registry+https://github.com/rust-lang/crates.io-index" 1209 | dependencies = [ 1210 | "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 1211 | ] 1212 | 1213 | [[package]] 1214 | name = "redox_syscall" 1215 | version = "0.1.40" 1216 | source = "registry+https://github.com/rust-lang/crates.io-index" 1217 | 1218 | [[package]] 1219 | name = "redox_termios" 1220 | version = "0.1.1" 1221 | source = "registry+https://github.com/rust-lang/crates.io-index" 1222 | dependencies = [ 1223 | "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", 1224 | ] 1225 | 1226 | [[package]] 1227 | name = "regex" 1228 | version = "0.1.80" 1229 | source = "registry+https://github.com/rust-lang/crates.io-index" 1230 | dependencies = [ 1231 | "aho-corasick 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", 1232 | "memchr 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", 1233 | "regex-syntax 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", 1234 | "thread_local 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", 1235 | "utf8-ranges 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 1236 | ] 1237 | 1238 | [[package]] 1239 | name = "regex" 1240 | version = "1.3.1" 1241 | source = "registry+https://github.com/rust-lang/crates.io-index" 1242 | dependencies = [ 1243 | "aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", 1244 | "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 1245 | "regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", 1246 | "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", 1247 | ] 1248 | 1249 | [[package]] 1250 | name = "regex-syntax" 1251 | version = "0.3.9" 1252 | source = "registry+https://github.com/rust-lang/crates.io-index" 1253 | 1254 | [[package]] 1255 | name = "regex-syntax" 1256 | version = "0.6.12" 1257 | source = "registry+https://github.com/rust-lang/crates.io-index" 1258 | 1259 | [[package]] 1260 | name = "relay" 1261 | version = "0.1.1" 1262 | source = "registry+https://github.com/rust-lang/crates.io-index" 1263 | dependencies = [ 1264 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 1265 | ] 1266 | 1267 | [[package]] 1268 | name = "remove_dir_all" 1269 | version = "0.5.1" 1270 | source = "registry+https://github.com/rust-lang/crates.io-index" 1271 | dependencies = [ 1272 | "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", 1273 | ] 1274 | 1275 | [[package]] 1276 | name = "reqwest" 1277 | version = "0.9.5" 1278 | source = "registry+https://github.com/rust-lang/crates.io-index" 1279 | dependencies = [ 1280 | "base64 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", 1281 | "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", 1282 | "encoding_rs 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", 1283 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 1284 | "http 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", 1285 | "hyper 0.12.19 (registry+https://github.com/rust-lang/crates.io-index)", 1286 | "hyper-tls 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", 1287 | "libflate 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", 1288 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", 1289 | "mime 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", 1290 | "mime_guess 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)", 1291 | "native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 1292 | "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", 1293 | "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)", 1294 | "serde_urlencoded 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", 1295 | "tokio 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 1296 | "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 1297 | "url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)", 1298 | "uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", 1299 | ] 1300 | 1301 | [[package]] 1302 | name = "rle-decode-fast" 1303 | version = "1.0.1" 1304 | source = "registry+https://github.com/rust-lang/crates.io-index" 1305 | 1306 | [[package]] 1307 | name = "rustc-demangle" 1308 | version = "0.1.9" 1309 | source = "registry+https://github.com/rust-lang/crates.io-index" 1310 | 1311 | [[package]] 1312 | name = "rustc-serialize" 1313 | version = "0.3.24" 1314 | source = "registry+https://github.com/rust-lang/crates.io-index" 1315 | 1316 | [[package]] 1317 | name = "safemem" 1318 | version = "0.2.0" 1319 | source = "registry+https://github.com/rust-lang/crates.io-index" 1320 | 1321 | [[package]] 1322 | name = "schannel" 1323 | version = "0.1.13" 1324 | source = "registry+https://github.com/rust-lang/crates.io-index" 1325 | dependencies = [ 1326 | "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 1327 | "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", 1328 | ] 1329 | 1330 | [[package]] 1331 | name = "scoped-tls" 1332 | version = "0.1.2" 1333 | source = "registry+https://github.com/rust-lang/crates.io-index" 1334 | 1335 | [[package]] 1336 | name = "scopeguard" 1337 | version = "0.3.3" 1338 | source = "registry+https://github.com/rust-lang/crates.io-index" 1339 | 1340 | [[package]] 1341 | name = "security-framework" 1342 | version = "0.1.16" 1343 | source = "registry+https://github.com/rust-lang/crates.io-index" 1344 | dependencies = [ 1345 | "core-foundation 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 1346 | "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 1347 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 1348 | "security-framework-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", 1349 | ] 1350 | 1351 | [[package]] 1352 | name = "security-framework" 1353 | version = "0.3.1" 1354 | source = "registry+https://github.com/rust-lang/crates.io-index" 1355 | dependencies = [ 1356 | "core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", 1357 | "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", 1358 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 1359 | "security-framework-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 1360 | ] 1361 | 1362 | [[package]] 1363 | name = "security-framework-sys" 1364 | version = "0.1.16" 1365 | source = "registry+https://github.com/rust-lang/crates.io-index" 1366 | dependencies = [ 1367 | "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 1368 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 1369 | ] 1370 | 1371 | [[package]] 1372 | name = "security-framework-sys" 1373 | version = "0.3.1" 1374 | source = "registry+https://github.com/rust-lang/crates.io-index" 1375 | dependencies = [ 1376 | "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", 1377 | ] 1378 | 1379 | [[package]] 1380 | name = "serde" 1381 | version = "1.0.71" 1382 | source = "registry+https://github.com/rust-lang/crates.io-index" 1383 | 1384 | [[package]] 1385 | name = "serde_derive" 1386 | version = "1.0.71" 1387 | source = "registry+https://github.com/rust-lang/crates.io-index" 1388 | dependencies = [ 1389 | "proc-macro2 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", 1390 | "quote 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", 1391 | "syn 0.14.8 (registry+https://github.com/rust-lang/crates.io-index)", 1392 | ] 1393 | 1394 | [[package]] 1395 | name = "serde_json" 1396 | version = "1.0.24" 1397 | source = "registry+https://github.com/rust-lang/crates.io-index" 1398 | dependencies = [ 1399 | "dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", 1400 | "itoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", 1401 | "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", 1402 | ] 1403 | 1404 | [[package]] 1405 | name = "serde_urlencoded" 1406 | version = "0.5.2" 1407 | source = "registry+https://github.com/rust-lang/crates.io-index" 1408 | dependencies = [ 1409 | "dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", 1410 | "itoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", 1411 | "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", 1412 | "url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)", 1413 | ] 1414 | 1415 | [[package]] 1416 | name = "sha-1" 1417 | version = "0.4.1" 1418 | source = "registry+https://github.com/rust-lang/crates.io-index" 1419 | dependencies = [ 1420 | "block-buffer 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 1421 | "byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 1422 | "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", 1423 | "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 1424 | "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", 1425 | ] 1426 | 1427 | [[package]] 1428 | name = "siphasher" 1429 | version = "0.2.3" 1430 | source = "registry+https://github.com/rust-lang/crates.io-index" 1431 | 1432 | [[package]] 1433 | name = "slab" 1434 | version = "0.3.0" 1435 | source = "registry+https://github.com/rust-lang/crates.io-index" 1436 | 1437 | [[package]] 1438 | name = "slab" 1439 | version = "0.4.1" 1440 | source = "registry+https://github.com/rust-lang/crates.io-index" 1441 | 1442 | [[package]] 1443 | name = "slack_api" 1444 | version = "0.21.0" 1445 | source = "registry+https://github.com/rust-lang/crates.io-index" 1446 | dependencies = [ 1447 | "reqwest 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)", 1448 | "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", 1449 | "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", 1450 | "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)", 1451 | ] 1452 | 1453 | [[package]] 1454 | name = "smallvec" 1455 | version = "0.2.1" 1456 | source = "registry+https://github.com/rust-lang/crates.io-index" 1457 | 1458 | [[package]] 1459 | name = "string" 1460 | version = "0.2.1" 1461 | source = "registry+https://github.com/rust-lang/crates.io-index" 1462 | dependencies = [ 1463 | "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", 1464 | ] 1465 | 1466 | [[package]] 1467 | name = "strsim" 1468 | version = "0.8.0" 1469 | source = "registry+https://github.com/rust-lang/crates.io-index" 1470 | 1471 | [[package]] 1472 | name = "structopt" 1473 | version = "0.3.4" 1474 | source = "registry+https://github.com/rust-lang/crates.io-index" 1475 | dependencies = [ 1476 | "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)", 1477 | "structopt-derive 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", 1478 | ] 1479 | 1480 | [[package]] 1481 | name = "structopt-derive" 1482 | version = "0.3.4" 1483 | source = "registry+https://github.com/rust-lang/crates.io-index" 1484 | dependencies = [ 1485 | "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 1486 | "proc-macro-error 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 1487 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", 1488 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 1489 | "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", 1490 | ] 1491 | 1492 | [[package]] 1493 | name = "syn" 1494 | version = "0.14.8" 1495 | source = "registry+https://github.com/rust-lang/crates.io-index" 1496 | dependencies = [ 1497 | "proc-macro2 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", 1498 | "quote 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", 1499 | "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 1500 | ] 1501 | 1502 | [[package]] 1503 | name = "syn" 1504 | version = "1.0.5" 1505 | source = "registry+https://github.com/rust-lang/crates.io-index" 1506 | dependencies = [ 1507 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", 1508 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 1509 | "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 1510 | ] 1511 | 1512 | [[package]] 1513 | name = "synstructure" 1514 | version = "0.12.1" 1515 | source = "registry+https://github.com/rust-lang/crates.io-index" 1516 | dependencies = [ 1517 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", 1518 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 1519 | "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", 1520 | "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 1521 | ] 1522 | 1523 | [[package]] 1524 | name = "take" 1525 | version = "0.1.0" 1526 | source = "registry+https://github.com/rust-lang/crates.io-index" 1527 | 1528 | [[package]] 1529 | name = "take_mut" 1530 | version = "0.2.2" 1531 | source = "registry+https://github.com/rust-lang/crates.io-index" 1532 | 1533 | [[package]] 1534 | name = "tempdir" 1535 | version = "0.3.7" 1536 | source = "registry+https://github.com/rust-lang/crates.io-index" 1537 | dependencies = [ 1538 | "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", 1539 | "remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", 1540 | ] 1541 | 1542 | [[package]] 1543 | name = "tempfile" 1544 | version = "3.1.0" 1545 | source = "registry+https://github.com/rust-lang/crates.io-index" 1546 | dependencies = [ 1547 | "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 1548 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 1549 | "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", 1550 | "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", 1551 | "remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", 1552 | "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", 1553 | ] 1554 | 1555 | [[package]] 1556 | name = "termion" 1557 | version = "1.5.1" 1558 | source = "registry+https://github.com/rust-lang/crates.io-index" 1559 | dependencies = [ 1560 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 1561 | "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", 1562 | "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 1563 | ] 1564 | 1565 | [[package]] 1566 | name = "textwrap" 1567 | version = "0.11.0" 1568 | source = "registry+https://github.com/rust-lang/crates.io-index" 1569 | dependencies = [ 1570 | "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 1571 | ] 1572 | 1573 | [[package]] 1574 | name = "thread-id" 1575 | version = "2.0.0" 1576 | source = "registry+https://github.com/rust-lang/crates.io-index" 1577 | dependencies = [ 1578 | "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 1579 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 1580 | ] 1581 | 1582 | [[package]] 1583 | name = "thread_local" 1584 | version = "0.2.7" 1585 | source = "registry+https://github.com/rust-lang/crates.io-index" 1586 | dependencies = [ 1587 | "thread-id 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", 1588 | ] 1589 | 1590 | [[package]] 1591 | name = "thread_local" 1592 | version = "0.3.6" 1593 | source = "registry+https://github.com/rust-lang/crates.io-index" 1594 | dependencies = [ 1595 | "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 1596 | ] 1597 | 1598 | [[package]] 1599 | name = "time" 1600 | version = "0.1.40" 1601 | source = "registry+https://github.com/rust-lang/crates.io-index" 1602 | dependencies = [ 1603 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", 1604 | "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", 1605 | "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", 1606 | ] 1607 | 1608 | [[package]] 1609 | name = "tokio" 1610 | version = "0.1.7" 1611 | source = "registry+https://github.com/rust-lang/crates.io-index" 1612 | dependencies = [ 1613 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 1614 | "mio 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)", 1615 | "tokio-executor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 1616 | "tokio-fs 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 1617 | "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 1618 | "tokio-reactor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 1619 | "tokio-tcp 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 1620 | "tokio-threadpool 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 1621 | "tokio-timer 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", 1622 | "tokio-udp 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 1623 | ] 1624 | 1625 | [[package]] 1626 | name = "tokio-codec" 1627 | version = "0.1.0" 1628 | source = "registry+https://github.com/rust-lang/crates.io-index" 1629 | dependencies = [ 1630 | "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", 1631 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 1632 | "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 1633 | ] 1634 | 1635 | [[package]] 1636 | name = "tokio-core" 1637 | version = "0.1.17" 1638 | source = "registry+https://github.com/rust-lang/crates.io-index" 1639 | dependencies = [ 1640 | "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", 1641 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 1642 | "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 1643 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", 1644 | "mio 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)", 1645 | "scoped-tls 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 1646 | "tokio 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 1647 | "tokio-executor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 1648 | "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 1649 | "tokio-reactor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 1650 | "tokio-timer 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", 1651 | ] 1652 | 1653 | [[package]] 1654 | name = "tokio-executor" 1655 | version = "0.1.3" 1656 | source = "registry+https://github.com/rust-lang/crates.io-index" 1657 | dependencies = [ 1658 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 1659 | ] 1660 | 1661 | [[package]] 1662 | name = "tokio-fs" 1663 | version = "0.1.3" 1664 | source = "registry+https://github.com/rust-lang/crates.io-index" 1665 | dependencies = [ 1666 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 1667 | "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 1668 | "tokio-threadpool 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 1669 | ] 1670 | 1671 | [[package]] 1672 | name = "tokio-io" 1673 | version = "0.1.7" 1674 | source = "registry+https://github.com/rust-lang/crates.io-index" 1675 | dependencies = [ 1676 | "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", 1677 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 1678 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", 1679 | ] 1680 | 1681 | [[package]] 1682 | name = "tokio-proto" 1683 | version = "0.1.1" 1684 | source = "registry+https://github.com/rust-lang/crates.io-index" 1685 | dependencies = [ 1686 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 1687 | "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", 1688 | "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", 1689 | "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", 1690 | "slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 1691 | "smallvec 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 1692 | "take 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 1693 | "tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", 1694 | "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 1695 | "tokio-service 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 1696 | ] 1697 | 1698 | [[package]] 1699 | name = "tokio-reactor" 1700 | version = "0.1.3" 1701 | source = "registry+https://github.com/rust-lang/crates.io-index" 1702 | dependencies = [ 1703 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 1704 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", 1705 | "mio 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)", 1706 | "slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", 1707 | "tokio-executor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 1708 | "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 1709 | ] 1710 | 1711 | [[package]] 1712 | name = "tokio-service" 1713 | version = "0.1.0" 1714 | source = "registry+https://github.com/rust-lang/crates.io-index" 1715 | dependencies = [ 1716 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 1717 | ] 1718 | 1719 | [[package]] 1720 | name = "tokio-tcp" 1721 | version = "0.1.1" 1722 | source = "registry+https://github.com/rust-lang/crates.io-index" 1723 | dependencies = [ 1724 | "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", 1725 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 1726 | "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 1727 | "mio 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)", 1728 | "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 1729 | "tokio-reactor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 1730 | ] 1731 | 1732 | [[package]] 1733 | name = "tokio-threadpool" 1734 | version = "0.1.5" 1735 | source = "registry+https://github.com/rust-lang/crates.io-index" 1736 | dependencies = [ 1737 | "crossbeam-deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 1738 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 1739 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", 1740 | "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", 1741 | "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", 1742 | "tokio-executor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 1743 | ] 1744 | 1745 | [[package]] 1746 | name = "tokio-timer" 1747 | version = "0.2.5" 1748 | source = "registry+https://github.com/rust-lang/crates.io-index" 1749 | dependencies = [ 1750 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 1751 | "tokio-executor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 1752 | ] 1753 | 1754 | [[package]] 1755 | name = "tokio-tls" 1756 | version = "0.1.4" 1757 | source = "registry+https://github.com/rust-lang/crates.io-index" 1758 | dependencies = [ 1759 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 1760 | "native-tls 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 1761 | "tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", 1762 | "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 1763 | ] 1764 | 1765 | [[package]] 1766 | name = "tokio-udp" 1767 | version = "0.1.1" 1768 | source = "registry+https://github.com/rust-lang/crates.io-index" 1769 | dependencies = [ 1770 | "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", 1771 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 1772 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", 1773 | "mio 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)", 1774 | "tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 1775 | "tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 1776 | "tokio-reactor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 1777 | ] 1778 | 1779 | [[package]] 1780 | name = "traitobject" 1781 | version = "0.1.0" 1782 | source = "registry+https://github.com/rust-lang/crates.io-index" 1783 | 1784 | [[package]] 1785 | name = "try-lock" 1786 | version = "0.1.0" 1787 | source = "registry+https://github.com/rust-lang/crates.io-index" 1788 | 1789 | [[package]] 1790 | name = "try-lock" 1791 | version = "0.2.2" 1792 | source = "registry+https://github.com/rust-lang/crates.io-index" 1793 | 1794 | [[package]] 1795 | name = "typeable" 1796 | version = "0.1.2" 1797 | source = "registry+https://github.com/rust-lang/crates.io-index" 1798 | 1799 | [[package]] 1800 | name = "typenum" 1801 | version = "1.10.0" 1802 | source = "registry+https://github.com/rust-lang/crates.io-index" 1803 | 1804 | [[package]] 1805 | name = "unicase" 1806 | version = "1.4.2" 1807 | source = "registry+https://github.com/rust-lang/crates.io-index" 1808 | dependencies = [ 1809 | "version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 1810 | ] 1811 | 1812 | [[package]] 1813 | name = "unicase" 1814 | version = "2.1.0" 1815 | source = "registry+https://github.com/rust-lang/crates.io-index" 1816 | dependencies = [ 1817 | "version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 1818 | ] 1819 | 1820 | [[package]] 1821 | name = "unicode-bidi" 1822 | version = "0.3.4" 1823 | source = "registry+https://github.com/rust-lang/crates.io-index" 1824 | dependencies = [ 1825 | "matches 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 1826 | ] 1827 | 1828 | [[package]] 1829 | name = "unicode-normalization" 1830 | version = "0.1.7" 1831 | source = "registry+https://github.com/rust-lang/crates.io-index" 1832 | 1833 | [[package]] 1834 | name = "unicode-segmentation" 1835 | version = "1.3.0" 1836 | source = "registry+https://github.com/rust-lang/crates.io-index" 1837 | 1838 | [[package]] 1839 | name = "unicode-width" 1840 | version = "0.1.5" 1841 | source = "registry+https://github.com/rust-lang/crates.io-index" 1842 | 1843 | [[package]] 1844 | name = "unicode-xid" 1845 | version = "0.1.0" 1846 | source = "registry+https://github.com/rust-lang/crates.io-index" 1847 | 1848 | [[package]] 1849 | name = "unicode-xid" 1850 | version = "0.2.0" 1851 | source = "registry+https://github.com/rust-lang/crates.io-index" 1852 | 1853 | [[package]] 1854 | name = "url" 1855 | version = "1.7.1" 1856 | source = "registry+https://github.com/rust-lang/crates.io-index" 1857 | dependencies = [ 1858 | "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 1859 | "matches 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 1860 | "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", 1861 | ] 1862 | 1863 | [[package]] 1864 | name = "utf8-ranges" 1865 | version = "0.1.3" 1866 | source = "registry+https://github.com/rust-lang/crates.io-index" 1867 | 1868 | [[package]] 1869 | name = "uuid" 1870 | version = "0.7.4" 1871 | source = "registry+https://github.com/rust-lang/crates.io-index" 1872 | dependencies = [ 1873 | "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", 1874 | ] 1875 | 1876 | [[package]] 1877 | name = "vcpkg" 1878 | version = "0.2.4" 1879 | source = "registry+https://github.com/rust-lang/crates.io-index" 1880 | 1881 | [[package]] 1882 | name = "vec_map" 1883 | version = "0.8.1" 1884 | source = "registry+https://github.com/rust-lang/crates.io-index" 1885 | 1886 | [[package]] 1887 | name = "version_check" 1888 | version = "0.1.4" 1889 | source = "registry+https://github.com/rust-lang/crates.io-index" 1890 | 1891 | [[package]] 1892 | name = "want" 1893 | version = "0.0.4" 1894 | source = "registry+https://github.com/rust-lang/crates.io-index" 1895 | dependencies = [ 1896 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 1897 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", 1898 | "try-lock 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 1899 | ] 1900 | 1901 | [[package]] 1902 | name = "want" 1903 | version = "0.0.6" 1904 | source = "registry+https://github.com/rust-lang/crates.io-index" 1905 | dependencies = [ 1906 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 1907 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", 1908 | "try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 1909 | ] 1910 | 1911 | [[package]] 1912 | name = "wasi" 1913 | version = "0.7.0" 1914 | source = "registry+https://github.com/rust-lang/crates.io-index" 1915 | 1916 | [[package]] 1917 | name = "webdriver" 1918 | version = "0.39.0" 1919 | source = "registry+https://github.com/rust-lang/crates.io-index" 1920 | dependencies = [ 1921 | "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", 1922 | "cookie 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)", 1923 | "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", 1924 | "http 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", 1925 | "hyper 0.12.19 (registry+https://github.com/rust-lang/crates.io-index)", 1926 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", 1927 | "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 1928 | "serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", 1929 | "serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)", 1930 | "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)", 1931 | "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", 1932 | "tokio 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 1933 | "unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 1934 | "url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)", 1935 | ] 1936 | 1937 | [[package]] 1938 | name = "winapi" 1939 | version = "0.2.8" 1940 | source = "registry+https://github.com/rust-lang/crates.io-index" 1941 | 1942 | [[package]] 1943 | name = "winapi" 1944 | version = "0.3.5" 1945 | source = "registry+https://github.com/rust-lang/crates.io-index" 1946 | dependencies = [ 1947 | "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 1948 | "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 1949 | ] 1950 | 1951 | [[package]] 1952 | name = "winapi-build" 1953 | version = "0.1.1" 1954 | source = "registry+https://github.com/rust-lang/crates.io-index" 1955 | 1956 | [[package]] 1957 | name = "winapi-i686-pc-windows-gnu" 1958 | version = "0.4.0" 1959 | source = "registry+https://github.com/rust-lang/crates.io-index" 1960 | 1961 | [[package]] 1962 | name = "winapi-x86_64-pc-windows-gnu" 1963 | version = "0.4.0" 1964 | source = "registry+https://github.com/rust-lang/crates.io-index" 1965 | 1966 | [[package]] 1967 | name = "ws2_32-sys" 1968 | version = "0.2.1" 1969 | source = "registry+https://github.com/rust-lang/crates.io-index" 1970 | dependencies = [ 1971 | "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", 1972 | "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 1973 | ] 1974 | 1975 | [metadata] 1976 | "checksum adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7e522997b529f05601e05166c07ed17789691f562762c7f3b987263d2dedee5c" 1977 | "checksum aho-corasick 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ca972c2ea5f742bfce5687b9aef75506a764f61d37f8f649047846a9686ddb66" 1978 | "checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d" 1979 | "checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" 1980 | "checksum antidote 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "34fde25430d87a9388dadbe6e34d7f72a462c8b43ac8d309b42b0a8505d7e2a5" 1981 | "checksum arrayref 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "0fd1479b7c29641adbd35ff3b5c293922d696a92f25c8c975da3e0acbc87258f" 1982 | "checksum arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "a1e964f9e24d588183fcb43503abda40d288c8657dfc27311516ce2f05675aef" 1983 | "checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652" 1984 | "checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2" 1985 | "checksum backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "89a47830402e9981c5c41223151efcced65a0510c13097c769cede7efb34782a" 1986 | "checksum backtrace-sys 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)" = "bff67d0c06556c0b8e6b5f090f0eac52d950d9dfd1d35ba04e4ca3543eaf6a7e" 1987 | "checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" 1988 | "checksum base64 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "96434f987501f0ed4eb336a411e0631ecd1afa11574fe148587adc4ff96143c9" 1989 | "checksum base64 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "85415d2594767338a74a30c1d370b2f3262ec1b4ed2d7bba5b3faf4de40467d9" 1990 | "checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5" 1991 | "checksum bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c54bb8f454c567f21197eefcdbf5679d0bd99f2ddbe52e84c77061952e6789" 1992 | "checksum block-buffer 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a076c298b9ecdb530ed9d967e74a6027d6a7478924520acddcddc24c1c8ab3ab" 1993 | "checksum byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "560c32574a12a89ecd91f5e742165893f86e3ab98d21f8ea548658eb9eef5f40" 1994 | "checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" 1995 | "checksum bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e178b8e0e239e844b083d5a0d4a156b2654e67f9f80144d48398fcd736a24fb8" 1996 | "checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb" 1997 | "checksum cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)" = "2119ea4867bd2b8ed3aecab467709720b2d55b1bcfe09f772fd68066eaf15275" 1998 | "checksum cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "efe5c877e17a9c717a0bf3613b2709f723202c4e4675cc8f12926ded29bcb17e" 1999 | "checksum chrono 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e48d85528df61dc964aa43c5f6ca681a19cfa74939b2348d204bd08a981f2fb0" 2000 | "checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9" 2001 | "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" 2002 | "checksum constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8ff012e225ce166d4422e0e78419d901719760f62ae2b7969ca6b564d1b54a9e" 2003 | "checksum cookie 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "99be24cfcf40d56ed37fd11c2123be833959bbc5bddecb46e1c2e442e15fa3e0" 2004 | "checksum cookie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "888604f00b3db336d2af898ec3c1d5d0ddf5e6d462220f2ededc33a87ac4bbd5" 2005 | "checksum core-foundation 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "25bfd746d203017f7d5cbd31ee5d8e17f94b6521c7af77ece6c9e4b2d4b16c67" 2006 | "checksum core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d" 2007 | "checksum core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "065a5d7ffdcbc8fa145d6f0746f3555025b9097a9e9cda59f7467abae670c78d" 2008 | "checksum core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b" 2009 | "checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1" 2010 | "checksum crossbeam-deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fe8153ef04a7594ded05b427ffad46ddeaf22e63fd48d42b3e1e3bb4db07cae7" 2011 | "checksum crossbeam-epoch 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2af0e75710d6181e234c8ecc79f14a97907850a541b13b0be1dd10992f2e4620" 2012 | "checksum crossbeam-utils 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d636a8b3bcc1b409d7ffd3facef8f21dcb4009626adbd0c5e6c4305c07253c7b" 2013 | "checksum crypto-mac 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "779015233ac67d65098614aec748ac1c756ab6677fa2e14cf8b37c08dfed1198" 2014 | "checksum digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e5b29bf156f3f4b3c4f610a25ff69370616ae6e0657d416de22645483e72af0a" 2015 | "checksum dotenv 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f" 2016 | "checksum dotenv_codegen 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "56966279c10e4f8ee8c22123a15ed74e7c8150b658b26c619c53f4a56eb4a8aa" 2017 | "checksum dotenv_codegen_implementation 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "53e737a3522cd45f6adc19b644ce43ef53e1e9045f2d2de425c1f468abd4cf33" 2018 | "checksum dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6d301140eb411af13d3115f9a562c85cc6b541ade9dfa314132244aaee7489dd" 2019 | "checksum egg-mode 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b268cd96a3680c07efa1aed45f054d3c8075e5432d7cc82ef6ded95c76c41609" 2020 | "checksum encoding_rs 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)" = "87240518927716f79692c2ed85bfe6e98196d18c6401ec75355760233a7e12e9" 2021 | "checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9" 2022 | "checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08" 2023 | "checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" 2024 | "checksum fantoccini 0.11.9 (registry+https://github.com/rust-lang/crates.io-index)" = "dde2479d48f6a99c4e4ba2038b90ab4bde08eda83872f12b5b68b4ddc9b15fac" 2025 | "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" 2026 | "checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 2027 | "checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 2028 | "checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" 2029 | "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" 2030 | "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" 2031 | "checksum futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef" 2032 | "checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4" 2033 | "checksum generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fceb69994e330afed50c93524be68c42fa898c2d9fd4ee8da03bd7363acd26f2" 2034 | "checksum getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "473a1265acc8ff1e808cd0a1af8cee3c2ee5200916058a2ca113c29f2d903571" 2035 | "checksum h2 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)" = "a5b34c246847f938a410a03c5458c7fee2274436675e76d8b903c08efc29c462" 2036 | "checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" 2037 | "checksum hmac 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7a13f4163aa0c5ca1be584aace0e2212b2e41be5478218d4f657f5f778b2ae2a" 2038 | "checksum http 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)" = "d7e06e336150b178206af098a055e3621e8336027e2b4d126bda0bc64824baaf" 2039 | "checksum httparse 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7b6288d7db100340ca12873fd4d08ad1b8f206a9457798dfb17c018a33fee540" 2040 | "checksum hyper 0.10.13 (registry+https://github.com/rust-lang/crates.io-index)" = "368cb56b2740ebf4230520e2b90ebb0461e69034d85d1945febd9b3971426db2" 2041 | "checksum hyper 0.11.27 (registry+https://github.com/rust-lang/crates.io-index)" = "34a590ca09d341e94cddf8e5af0bbccde205d5fbc2fa3c09dd67c7f85cea59d7" 2042 | "checksum hyper 0.12.19 (registry+https://github.com/rust-lang/crates.io-index)" = "f1ebec079129e43af5e234ef36ee3d7e6085687d145b7ea653b262d16c6b65f1" 2043 | "checksum hyper-native-tls 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "72332e4a35d3059583623b50e98e491b78f8b96c5521fcb3f428167955aa56e8" 2044 | "checksum hyper-tls 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ffb1bd5e518d3065840ab315dbbf44e4420e5f7d80e2cb93fa6ffffc50522378" 2045 | "checksum hyper-tls 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3a800d6aa50af4b5850b2b0f659625ce9504df908e9733b635720483be26174f" 2046 | "checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" 2047 | "checksum indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712d7b3ea5827fcb9d4fda14bf4da5f136f0db2ae9c8f4bd4e2d1c6fde4e6db2" 2048 | "checksum iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08" 2049 | "checksum itoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5adb58558dcd1d786b5f0bd15f3226ee23486e24b7b58304b60f64dc68e62606" 2050 | "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" 2051 | "checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" 2052 | "checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" 2053 | "checksum lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca488b89a5657b0a2ecd45b95609b3e848cf1755da332a0da46e2b2b1cb371a7" 2054 | "checksum lazycell 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a6f08839bc70ef4a3fe1d566d5350f519c5912ea86be0df1740a7d247c7fc0ef" 2055 | "checksum libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)" = "1a31a0627fdf1f6a39ec0dd577e101440b7db22672c0901fe00a9a6fbb5c24e8" 2056 | "checksum libflate 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)" = "d9135df43b1f5d0e333385cb6e7897ecd1a43d7d11b91ac003f4d2c2d2401fdd" 2057 | "checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" 2058 | "checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7" 2059 | "checksum matches 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "835511bab37c34c47da5cb44844bea2cfde0236db0b506f90ea4224482c9774a" 2060 | "checksum memchr 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d8b629fb514376c675b98c1421e80b151d3817ac42d7c667717d282761418d20" 2061 | "checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e" 2062 | "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" 2063 | "checksum mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0" 2064 | "checksum mime 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "4b082692d3f6cf41b453af73839ce3dfc212c4411cbb2441dff80a716e38bd79" 2065 | "checksum mime_guess 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)" = "30de2e4613efcba1ec63d8133f344076952090c122992a903359be5a4f99c3ed" 2066 | "checksum mio 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)" = "4fcfcb32d63961fb6f367bfd5d21e4600b92cd310f71f9dca25acae196eb1560" 2067 | "checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" 2068 | "checksum native-tls 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f74dbadc8b43df7864539cedb7bc91345e532fdd913cfdc23ad94f4d2d40fbc0" 2069 | "checksum native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4b2df1a4c22fd44a62147fd8f13dd0f95c9d8ca7b2610299b2a2f9cf8964274e" 2070 | "checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88" 2071 | "checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2" 2072 | "checksum num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea" 2073 | "checksum num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "630de1ef5cc79d0cdd78b7e33b81f083cbfe90de0f4b2b2f07f905867c70e9fe" 2074 | "checksum num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30" 2075 | "checksum openssl 0.10.25 (registry+https://github.com/rust-lang/crates.io-index)" = "2f372b2b53ce10fb823a337aaa674e3a7d072b957c6264d0f4ff0bd86e657449" 2076 | "checksum openssl 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)" = "a3605c298474a3aa69de92d21139fb5e2a81688d308262359d85cdd0d12a7985" 2077 | "checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" 2078 | "checksum openssl-sys 0.9.52 (registry+https://github.com/rust-lang/crates.io-index)" = "c977d08e1312e2f7e4b86f9ebaa0ed3b19d1daff75fae88bbb88108afbd801fc" 2079 | "checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" 2080 | "checksum phf 0.7.22 (registry+https://github.com/rust-lang/crates.io-index)" = "7d37a244c75a9748e049225155f56dbcb98fe71b192fd25fd23cb914b5ad62f2" 2081 | "checksum phf_codegen 0.7.22 (registry+https://github.com/rust-lang/crates.io-index)" = "4e4048fe7dd7a06b8127ecd6d3803149126e9b33c7558879846da3a63f734f2b" 2082 | "checksum phf_generator 0.7.22 (registry+https://github.com/rust-lang/crates.io-index)" = "05a079dd052e7b674d21cb31cbb6c05efd56a2cd2827db7692e2f1a507ebd998" 2083 | "checksum phf_shared 0.7.22 (registry+https://github.com/rust-lang/crates.io-index)" = "c2261d544c2bb6aa3b10022b0be371b9c7c64f762ef28c6f5d4f1ef6d97b5930" 2084 | "checksum pkg-config 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)" = "104630aa1c83213cbc76db0703630fcb0421dac3585063be4ce9a8a2feeaa745" 2085 | "checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b" 2086 | "checksum proc-macro-error 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "aeccfe4d5d8ea175d5f0e4a2ad0637e0f4121d63bd99d356fb1f39ab2e7c6097" 2087 | "checksum proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)" = "ecd45702f76d6d3c75a80564378ae228a85f0b59d2f3ed43c91b4a69eb2ebfc5" 2088 | "checksum proc-macro2 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "762eea716b821300a86da08870a64b597304866ceb9f54a11d67b4cf56459c6a" 2089 | "checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27" 2090 | "checksum quote 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ed7d650913520df631972f21e104a4fa2f9c82a14afc65d17b388a2e29731e7c" 2091 | "checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe" 2092 | "checksum rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)" = "15a732abf9d20f0ad8eeb6f909bf6868722d9a06e1e50802b6a70351f40b4eb1" 2093 | "checksum rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "eba5f8cb59cc50ed56be8880a5c7b496bfd9bd26394e176bc67884094145c2c5" 2094 | "checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" 2095 | "checksum rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412" 2096 | "checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" 2097 | "checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853" 2098 | "checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" 2099 | "checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" 2100 | "checksum rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" 2101 | "checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" 2102 | "checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" 2103 | "checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" 2104 | "checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" 2105 | "checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071" 2106 | "checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" 2107 | "checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c" 2108 | "checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" 2109 | "checksum redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1" 2110 | "checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76" 2111 | "checksum regex 0.1.80 (registry+https://github.com/rust-lang/crates.io-index)" = "4fd4ace6a8cf7860714a2c2280d6c1f7e6a413486c13298bbc86fd3da019402f" 2112 | "checksum regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd" 2113 | "checksum regex-syntax 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "f9ec002c35e86791825ed294b50008eea9ddfc8def4420124fbc6b08db834957" 2114 | "checksum regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716" 2115 | "checksum relay 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1576e382688d7e9deecea24417e350d3062d97e32e45d70b1cde65994ff1489a" 2116 | "checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5" 2117 | "checksum reqwest 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ab52e462d1e15891441aeefadff68bdea005174328ce3da0a314f2ad313ec837" 2118 | "checksum rle-decode-fast 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cabe4fa914dec5870285fa7f71f602645da47c486e68486d2b4ceb4a343e90ac" 2119 | "checksum rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "bcfe5b13211b4d78e5c2cadfebd7769197d95c639c35a50057eb4c05de811395" 2120 | "checksum rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)" = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda" 2121 | "checksum safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e27a8b19b835f7aea908818e871f5cc3a5a186550c30773be987e155e8163d8f" 2122 | "checksum schannel 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "dc1fabf2a7b6483a141426e1afd09ad543520a77ac49bd03c286e7696ccfd77f" 2123 | "checksum scoped-tls 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "332ffa32bf586782a3efaeb58f127980944bbc8c4d6913a86107ac2a5ab24b28" 2124 | "checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" 2125 | "checksum security-framework 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "dfa44ee9c54ce5eecc9de7d5acbad112ee58755239381f687e564004ba4a2332" 2126 | "checksum security-framework 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eee63d0f4a9ec776eeb30e220f0bc1e092c3ad744b2a379e3993070364d3adc2" 2127 | "checksum security-framework-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "5421621e836278a0b139268f36eee0dc7e389b784dc3f79d8f11aabadf41bead" 2128 | "checksum security-framework-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9636f8989cbf61385ae4824b98c1aaa54c994d7d8b41f11c601ed799f0549a56" 2129 | "checksum serde 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)" = "6dfad05c8854584e5f72fb859385ecdfa03af69c3fd0572f0da2d4c95f060bdb" 2130 | "checksum serde_derive 1.0.71 (registry+https://github.com/rust-lang/crates.io-index)" = "b719c6d5e9f73fbc37892246d5852333f040caa617b8873c6aced84bcb28e7bb" 2131 | "checksum serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)" = "c3c6908c7b925cd6c590358a4034de93dbddb20c45e1d021931459fd419bf0e2" 2132 | "checksum serde_urlencoded 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e703cef904312097cfceab9ce131ff6bbe09e8c964a0703345a5f49238757bc1" 2133 | "checksum sha-1 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4172176a276b62241556af0cf0c58a2dd6625cfc01a4d0bb59dc0db43e0c319d" 2134 | "checksum siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac" 2135 | "checksum slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "17b4fcaed89ab08ef143da37bc52adbcc04d4a69014f4c1208d6b51f0c47bc23" 2136 | "checksum slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5f9776d6b986f77b35c6cf846c11ad986ff128fe0b2b63a3628e3755e8d3102d" 2137 | "checksum slack_api 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b8d74750669f8cf3016f9408469969d45ff37f8175051de6474cfd0a654c136c" 2138 | "checksum smallvec 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4c8cbcd6df1e117c2210e13ab5109635ad68a929fcbb8964dc965b76cb5ee013" 2139 | "checksum string 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d24114bfcceb867ca7f71a0d3fe45d45619ec47a6fbfa98cb14e14250bfa5d6d" 2140 | "checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" 2141 | "checksum structopt 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "c167b61c7d4c126927f5346a4327ce20abf8a186b8041bbeb1ce49e5db49587b" 2142 | "checksum structopt-derive 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "519621841414165d2ad0d4c92be8f41844203f2b67e245f9345a5a12d40c69d7" 2143 | "checksum syn 0.14.8 (registry+https://github.com/rust-lang/crates.io-index)" = "b7bfcbb0c068d0f642a0ffbd5c604965a360a61f99e8add013cef23a838614f3" 2144 | "checksum syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "66850e97125af79138385e9b88339cbcd037e3f28ceab8c5ad98e64f0f1f80bf" 2145 | "checksum synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3f085a5855930c0441ca1288cf044ea4aecf4f43a91668abdb870b4ba546a203" 2146 | "checksum take 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b157868d8ac1f56b64604539990685fa7611d8fa9e5476cf0c02cf34d32917c5" 2147 | "checksum take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60" 2148 | "checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8" 2149 | "checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9" 2150 | "checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096" 2151 | "checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" 2152 | "checksum thread-id 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a9539db560102d1cef46b8b78ce737ff0bb64e7e18d35b2a5688f7d097d0ff03" 2153 | "checksum thread_local 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "8576dbbfcaef9641452d5cf0df9b0e7eeab7694956dd33bb61515fb8f18cfdd5" 2154 | "checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" 2155 | "checksum time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b" 2156 | "checksum tokio 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "8ee337e5f4e501fc32966fec6fe0ca0cc1c237b0b1b14a335f8bfe3c5f06e286" 2157 | "checksum tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "881e9645b81c2ce95fcb799ded2c29ffb9f25ef5bef909089a420e5961dd8ccb" 2158 | "checksum tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)" = "aeeffbbb94209023feaef3c196a41cbcdafa06b4a6f893f68779bb5e53796f71" 2159 | "checksum tokio-executor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "424f0c87ecd66b863045d84e384cb7ce0ae384d8b065b9f0363d29c0d1b30b2f" 2160 | "checksum tokio-fs 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b5cbe4ca6e71cb0b62a66e4e6f53a8c06a6eefe46cc5f665ad6f274c9906f135" 2161 | "checksum tokio-io 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "a5c9635ee806f26d302b8baa1e145689a280d8f5aa8d0552e7344808da54cc21" 2162 | "checksum tokio-proto 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8fbb47ae81353c63c487030659494b295f6cb6576242f907f203473b191b0389" 2163 | "checksum tokio-reactor 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8703a5762ff6913510dc64272c714c4389ffd8c4b3cf602879b8bd14ff06b604" 2164 | "checksum tokio-service 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "24da22d077e0f15f55162bdbdc661228c1581892f52074fb242678d015b45162" 2165 | "checksum tokio-tcp 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5b4c329b47f071eb8a746040465fa751bd95e4716e98daef6a9b4e434c17d565" 2166 | "checksum tokio-threadpool 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "24ab84f574027b0e875378f31575cf175360891919e93a3490f07e76e00e4efb" 2167 | "checksum tokio-timer 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1c76b4e97a4f61030edff8bd272364e4f731b9f54c7307eb4eb733c3926eb96a" 2168 | "checksum tokio-tls 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "772f4b04e560117fe3b0a53e490c16ddc8ba6ec437015d91fa385564996ed913" 2169 | "checksum tokio-udp 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "43eb534af6e8f37d43ab1b612660df14755c42bd003c5f8d2475ee78cc4600c0" 2170 | "checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" 2171 | "checksum try-lock 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee2aa4715743892880f70885373966c83d73ef1b0838a664ef0c76fffd35e7c2" 2172 | "checksum try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" 2173 | "checksum typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887" 2174 | "checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169" 2175 | "checksum unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33" 2176 | "checksum unicase 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "284b6d3db520d67fbe88fd778c21510d1b0ba4a551e5d0fbb023d33405f6de8a" 2177 | "checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" 2178 | "checksum unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6a0180bc61fc5a987082bfa111f4cc95c4caff7f9799f3e46df09163a937aa25" 2179 | "checksum unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1967f4cdfc355b37fd76d2a954fb2ed3871034eb4f26d60537d88795cfc332a9" 2180 | "checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526" 2181 | "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" 2182 | "checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c" 2183 | "checksum url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2a321979c09843d272956e73700d12c4e7d3d92b2ee112b31548aef0d4efc5a6" 2184 | "checksum utf8-ranges 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a1ca13c08c41c9c3e04224ed9ff80461d97e121589ff27c753a16cb10830ae0f" 2185 | "checksum uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "90dbc611eb48397705a6b0f6e917da23ae517e4d127123d2cf7674206627d32a" 2186 | "checksum vcpkg 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cbe533e138811704c0e3cbde65a818b35d3240409b4346256c5ede403e082474" 2187 | "checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a" 2188 | "checksum version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "7716c242968ee87e5542f8021178248f267f295a5c4803beae8b8b7fd9bc6051" 2189 | "checksum want 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a05d9d966753fa4b5c8db73fcab5eed4549cfe0e1e4e66911e5564a0085c35d1" 2190 | "checksum want 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "797464475f30ddb8830cc529aaaae648d581f99e2036a928877dfde027ddf6b3" 2191 | "checksum wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d" 2192 | "checksum webdriver 0.39.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0533b0b0a05e2e5c081317759a038482806c6085c9605dded03c8bbd2498b042" 2193 | "checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" 2194 | "checksum winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "773ef9dcc5f24b7d850d0ff101e542ff24c3b090a9768e03ff889fdef41f00fd" 2195 | "checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" 2196 | "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 2197 | "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 2198 | "checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" 2199 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "hello-rs" 3 | description = "A command-line tool to submit links to various social platforms" 4 | documentation = "https://github.com/hello-rust/hello" 5 | homepage = "https://github.com/hello-rust/hello" 6 | license = "MIT OR Apache-2.0" 7 | version = "0.1.0" 8 | authors = ["Matthias Endler "] 9 | 10 | [dependencies] 11 | rawr = { path = "rawr", version="0.2.0" } 12 | failure = "0.1.6" 13 | dotenv = "0.15.0" 14 | dotenv_codegen = "0.15.0" 15 | structopt = "0.3.4" 16 | egg-mode = "0.12.0" 17 | rustc-serialize = "0.3.24" 18 | tokio-core = "0.1.17" 19 | fantoccini = "0.11.9" 20 | futures = "0.1.29" 21 | slack_api = "0.21.0" 22 | -------------------------------------------------------------------------------- /LICENSE-APACHE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- 1 | Permission is hereby granted, free of charge, to any 2 | person obtaining a copy of this software and associated 3 | documentation files (the "Software"), to deal in the 4 | Software without restriction, including without 5 | limitation the rights to use, copy, modify, merge, 6 | publish, distribute, sublicense, and/or sell copies of 7 | the Software, and to permit persons to whom the Software 8 | is furnished to do so, subject to the following 9 | conditions: 10 | 11 | The above copyright notice and this permission notice 12 | shall be included in all copies or substantial portions 13 | of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF 16 | ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 17 | TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 18 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT 19 | SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR 22 | IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 👋 hello 2 | 3 | A little command-line tool which helps reduce manual work for content creators. 4 | 5 | ### Why? 6 | 7 | Social media is hard. On one side, you would like to keep all platforms updated 8 | and share your creations with the world. On the other hand, maintaining all of 9 | them takes away a substantial amount of time from actually creating content. 10 | 11 | You might say that this is not an important problem to solve - and I agree to 12 | some extent. But having a side-project next to work is a tough thing to handle, 13 | and every little step that can be automated saves some time for more important 14 | things like... uhm... friends and family? 15 | 16 | You might say that this is cheating - and you might be right. Submitting an 17 | article is a soulless work of honor that should be done manually as a sign of 18 | respect (yo) to your audience. But guess what: most of your audience doesn't 19 | care about your link on social media, it cares about your content. 20 | 21 | You might say there are similar tools - and that's true. There's 22 | [Buffer](https://buffer.com), which can do everything that this tool can, but 23 | better. Nevertheless, the goal is to build a free tool under a permissive 24 | license that is easy to hack on. 25 | 26 | 27 | Therefore I created **hello**. 28 | 29 | ### Installation 30 | 31 | ``` 32 | cargo install hello-rs 33 | ``` 34 | 35 | ### Usage 36 | 37 | Create a `.env` file with your credentials. See `.env_dist` for an example. 38 | 39 | After that, run `hello -h` to get started. 40 | 41 | For example, to submit a link to Reddit, run 42 | ``` 43 | hello reddit subredditnamehere "Give up" "https://www.youtube.com/watch?v=DLzxrzFCyOs" 44 | ``` 45 | 46 | ### Currently supported platforms 47 | 48 | * [X] Reddit 49 | * [X] Twitter 50 | * [X] HackerNews 51 | * [X] Slack 52 | * [ ] Patreon (tough one, as the API does not support publishing yet) 53 | * [ ] Meetup.com 54 | * [ ] Discourse (tough one, as only admins can get an API key) 55 | * [ ] Bring your own! 56 | 57 | ### How to get your credentials 58 | 59 | ##### Reddit 60 | 61 | Create an app at reddit.com/prefs/apps. 62 | After that, add your credentials to `.env`. 63 | Then you can run `hello` like so: 64 | 65 | ``` 66 | hello reddit yoursubredditname "I gave up" "https://www.youtube.com/watch?v=DLzxrzFCyOs" 67 | ``` 68 | 69 | ##### Twitter 70 | 71 | Make an app for yourself at apps.twitter.com and add the credentials to the 72 | `.env` file. On first execution of `hello`, 73 | you will get an access token for your app via OAuth. 74 | 75 | Then run the following command to send a tweet: 76 | 77 | ``` 78 | hello twitter "Hello! https://github.com/hello-rust/hello" 79 | ``` 80 | 81 | Follow the instructions on the screen to save that for all subsequent requests. 82 | 83 | ##### Slack 84 | 85 | Create an app at https://api.slack.com/apps. 86 | The app name doesn't matter. Choose the workspace that you want to send messages 87 | to. 88 | 89 | Click on "create". You will be redirected to the configuration page where you 90 | click on "permissions". 91 | 92 | Look for "scopes" and select one of the following: 93 | 94 | * `chat:write:user` if you want `hello` to send messages using your Slack username. 95 | * `chat:write:bot` if you want `hello` to send messages using the app username. 96 | 97 | At the top, you should see your `OAuth` token, which you have to store in the 98 | `.env` file of `hello`. If you don't see your token, you might have to click on 99 | "request approval" to be allowed to install the app into the selected workspace. 100 | 101 | That's all you need. Save everything. 102 | 103 | Run the following command to send a message to `your-channel-name`: 104 | 105 | ``` 106 | hello slack "your-channel-name" "Hello! https://github.com/hello-rust/hello" 107 | ``` 108 | 109 | #### HackerNews 110 | 111 | Since HackerNews doesn't have an API for submitting links, we have to be 112 | creative. 113 | We use the awesome [fantoccini](https://github.com/jonhoo/fantoccini) to control 114 | a [WebDriver](https://github.com/Fyrd/caniuse/issues/2757#issuecomment-304529217) 115 | compatible browser. 116 | 117 | 1. Install geckodriver by fetching the [latest build from their release page](https://github.com/mozilla/geckodriver/releases). 118 | 2. Add your HN credentials to `.env`. 119 | 120 | Example: 121 | 122 | ``` 123 | hello hn "Show HN: Hello, a CLI tool for managing social media" https://github.com/hello-rust/hello 124 | ``` 125 | 126 | ### Contributing 127 | 128 | This tool was made possible by the excellent patrons of ["Hello 129 | Rust!"](https://github.com/hello-rust/show), a show about the Rust programming 130 | language. With their help, this tool is made available to the public under dual 131 | MIT/Apache license. 132 | 133 | [Become a patron](https://www.patreon.com/bePatron?c=1568097) now to support 134 | future work and send pull requests for supporting other platforms. 135 | -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | #[macro_use] 2 | extern crate structopt; 3 | extern crate dotenv_codegen; 4 | #[macro_use] 5 | extern crate failure; 6 | extern crate dotenv; 7 | extern crate egg_mode; 8 | extern crate fantoccini; 9 | extern crate futures; 10 | extern crate rawr; 11 | extern crate rustc_serialize; 12 | extern crate slack_api; 13 | extern crate tokio_core; 14 | 15 | mod platforms; 16 | 17 | use std::env; 18 | 19 | use dotenv::dotenv; 20 | use failure::Error; 21 | use structopt::StructOpt; 22 | 23 | use platforms::*; 24 | 25 | #[derive(StructOpt)] 26 | #[structopt(name = "hello", about = "Share on social platforms")] 27 | enum App { 28 | #[structopt(name = "hn")] 29 | Hackernews { title: String, url: String }, 30 | #[structopt(name = "reddit")] 31 | Reddit { 32 | subreddit: String, 33 | title: String, 34 | url: String, 35 | }, 36 | #[structopt(name = "twitter")] 37 | Twitter { text: String }, 38 | #[structopt(name = "slack")] 39 | Slack { channel: String, text: String }, 40 | } 41 | 42 | fn main() -> Result<(), Error> { 43 | dotenv().ok(); 44 | 45 | // TODO: This should be done with inversion of control 46 | let app = App::from_args(); 47 | match app { 48 | App::Hackernews { title, url } => { 49 | let credentials = hackernews::Credentials { 50 | username: env::var("HN_USERNAME")?, 51 | password: env::var("HN_PASSWORD")?, 52 | }; 53 | 54 | let client = hackernews::Client::new(credentials); 55 | client.submit(title, url) 56 | } 57 | App::Reddit { 58 | subreddit, 59 | title, 60 | url, 61 | } => { 62 | let credentials = reddit::Credentials { 63 | client_id: env::var("REDDIT_CLIENT_ID")?, 64 | client_secret: env::var("REDDIT_CLIENT_SECRET")?, 65 | username: env::var("REDDIT_USERNAME")?, 66 | password: env::var("REDDIT_PASSWORD")?, 67 | }; 68 | 69 | let client = reddit::Client::new(credentials); 70 | client.submit(subreddit, title, url) 71 | } 72 | App::Twitter { text } => { 73 | let consumer_key = env::var("TWITTER_CONSUMER_KEY")?.to_string(); 74 | let consumer_secret = env::var("TWITTER_CONSUMER_SECRET")?.to_string(); 75 | let credentials = match ( 76 | env::var("TWITTER_ACCESS_KEY"), 77 | env::var("TWITTER_ACCESS_SECRET"), 78 | ) { 79 | // Already registered 80 | (Ok(access_token_key), Ok(access_token_secret)) => twitter::Credentials::new( 81 | consumer_key, 82 | consumer_secret, 83 | access_token_key, 84 | access_token_secret, 85 | ), 86 | // Not registerd yet. Requires OAuth dance 87 | _ => twitter::Credentials::load(consumer_key, consumer_secret)?, 88 | }; 89 | 90 | let client = twitter::Client::new(credentials); 91 | client.submit(text) 92 | } 93 | App::Slack { channel, text } => { 94 | let token = env::var("SLACK_TOKEN")?.to_string(); 95 | let credentials = slack::Credentials { token }; 96 | let client = slack::Client::new(credentials); 97 | client.submit(channel, text) 98 | } 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /src/platforms/hackernews.rs: -------------------------------------------------------------------------------- 1 | use failure::Error; 2 | use fantoccini::{Client as FantocciniClient, Locator}; 3 | use futures::future::Future; 4 | use std::process::Command; 5 | use tokio_core; 6 | 7 | pub struct Credentials { 8 | pub username: String, 9 | pub password: String, 10 | } 11 | 12 | pub struct Client { 13 | credentials: Credentials, 14 | } 15 | 16 | impl Client { 17 | pub fn new(credentials: Credentials) -> Client { 18 | Client { credentials } 19 | } 20 | 21 | pub fn submit(&self, title: String, url: String) -> Result<(), Error> { 22 | Command::new("geckodriver") 23 | .spawn() 24 | .map_err(|e| format_err!("{:?}: Cannot start geckodriver. Did you install it?", e))?; 25 | 26 | let mut core = tokio_core::reactor::Core::new()?; 27 | let c = FantocciniClient::new("http://localhost:4444", &core.handle()); 28 | let c = core.run(c)?; 29 | 30 | { 31 | // we want to have a reference to c so we can use it in the and_thens below 32 | let c = &c; 33 | 34 | // We're dealing with unnamed forms, so we have to select the elements ourselves. 35 | let f = c.goto("https://news.ycombinator.com/submit") 36 | .and_then(move |_| c.form(Locator::Css("form:first-of-type"))) 37 | .and_then(|f| f.set_by_name("acct", &self.credentials.username)) 38 | .and_then(|f| f.set_by_name("pw", &self.credentials.password)) 39 | .and_then(|f| f.submit()) 40 | .and_then(move |_| c.current_url()) 41 | .and_then(|url| { 42 | assert_eq!(url.as_ref(), "https://news.ycombinator.com/submit"); 43 | Ok(()) 44 | }) 45 | .and_then(move |_| c.form(Locator::Css("form:first-of-type"))) 46 | .and_then(|f| f.set_by_name("title", &title)) 47 | .and_then(|f| f.set_by_name("url", &url)) 48 | .and_then(|f| f.submit()); 49 | 50 | core.run(f)?; 51 | } 52 | 53 | // drop the client to delete the browser session 54 | if let Some(fin) = c.close() { 55 | // and wait for cleanup to finish 56 | core.run(fin)?; 57 | } 58 | 59 | Ok(()) 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /src/platforms/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod hackernews; 2 | pub mod reddit; 3 | pub mod slack; 4 | pub mod twitter; 5 | -------------------------------------------------------------------------------- /src/platforms/reddit.rs: -------------------------------------------------------------------------------- 1 | use failure::Error; 2 | use rawr::options::LinkPost; 3 | use rawr::prelude::*; 4 | 5 | pub struct Credentials { 6 | pub client_id: String, 7 | pub client_secret: String, 8 | pub username: String, 9 | pub password: String, 10 | } 11 | 12 | pub struct Client { 13 | inner: RedditClient, 14 | } 15 | 16 | impl Client { 17 | pub fn new(credentials: Credentials) -> Client { 18 | let inner = RedditClient::new( 19 | "Hello Rust", 20 | PasswordAuthenticator::new( 21 | &credentials.client_id, 22 | &credentials.client_secret, 23 | &credentials.username, 24 | &credentials.password, 25 | ), 26 | ); 27 | Client { inner } 28 | } 29 | 30 | pub fn submit(&self, subreddit: String, title: String, url: String) -> Result<(), Error> { 31 | let subreddit = self.inner.subreddit(&subreddit); 32 | let post = LinkPost::new(&title, &url); 33 | subreddit.submit_link(post).expect("Could not submit link!"); 34 | Ok(()) 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/platforms/slack.rs: -------------------------------------------------------------------------------- 1 | use failure::Error; 2 | use slack_api as slack; 3 | 4 | pub struct Credentials { 5 | pub token: String, 6 | } 7 | 8 | pub struct Client { 9 | credentials: Credentials, 10 | } 11 | 12 | impl Client { 13 | pub fn new(credentials: Credentials) -> Client { 14 | Client { credentials } 15 | } 16 | 17 | pub fn submit(&self, channel: String, text: String) -> Result<(), Error> { 18 | let client = slack::default_client()?; 19 | 20 | slack::chat::post_message( 21 | &client, 22 | &self.credentials.token, 23 | &slack::chat::PostMessageRequest { 24 | channel: &channel, 25 | text: &text, 26 | ..slack::chat::PostMessageRequest::default() 27 | }, 28 | )?; 29 | Ok(()) 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/platforms/twitter.rs: -------------------------------------------------------------------------------- 1 | use egg_mode; 2 | use egg_mode::tweet::DraftTweet; 3 | use failure::Error; 4 | use std::io; 5 | use tokio_core::reactor::Core; 6 | 7 | pub struct Credentials { 8 | pub token: egg_mode::Token, 9 | } 10 | 11 | impl Credentials { 12 | pub fn new( 13 | consumer_key: String, 14 | consumer_secret: String, 15 | access_token_key: String, 16 | access_token_secret: String, 17 | ) -> Credentials { 18 | let con_token = egg_mode::KeyPair::new(consumer_key, consumer_secret); 19 | let access_token = egg_mode::KeyPair::new(access_token_key, access_token_secret); 20 | let token = egg_mode::Token::Access { 21 | consumer: con_token, 22 | access: access_token, 23 | }; 24 | Credentials { token } 25 | } 26 | 27 | /// If we don't have an access token already (e.g. if the application is not 28 | /// registered, grab one via OAuth. 29 | pub fn load(consumer_key: String, consumer_secret: String) -> Result { 30 | let mut core = Core::new().unwrap(); 31 | let handle = core.handle(); 32 | 33 | let con_token = egg_mode::KeyPair::new(consumer_key, consumer_secret); 34 | 35 | let request_token = core.run(egg_mode::request_token(&con_token, "oob", &handle))?; 36 | 37 | println!("Go to the following URL, sign in, and give me the PIN that comes back:"); 38 | println!("{}", egg_mode::authorize_url(&request_token)); 39 | println!("Type in PIN here:"); 40 | 41 | let mut pin = String::new(); 42 | io::stdin().read_line(&mut pin)?; 43 | 44 | let (token, _user_id, _screen_name) = core.run(egg_mode::access_token( 45 | con_token, 46 | &request_token, 47 | pin, 48 | &handle, 49 | ))?; 50 | 51 | match token { 52 | egg_mode::Token::Access { 53 | access: ref access_token, 54 | .. 55 | } => { 56 | println!("Please add the following to your `.env` file:"); 57 | println!("TWITTER_ACCESS_KEY={}", &access_token.key); 58 | println!("TWITTER_ACCESS_SECRET={}", &access_token.secret); 59 | } 60 | _ => unreachable!(), 61 | } 62 | 63 | Ok(Credentials { token }) 64 | } 65 | } 66 | 67 | pub struct Client { 68 | credentials: Credentials, 69 | } 70 | 71 | impl Client { 72 | pub fn new(credentials: Credentials) -> Client { 73 | Client { credentials } 74 | } 75 | 76 | pub fn submit(&self, text: String) -> Result<(), Error> { 77 | let mut core = Core::new()?; 78 | let handle = core.handle(); 79 | 80 | let draft = DraftTweet::new(text); 81 | core.run(draft.send(&self.credentials.token, &handle))?; 82 | Ok(()) 83 | } 84 | } 85 | --------------------------------------------------------------------------------