|
19 | 19 |
|
20 | 20 | import java.util.HashMap; |
21 | 21 | import java.util.Map; |
| 22 | +import java.util.Objects; |
22 | 23 |
|
23 | 24 | /** |
24 | 25 | * Configuration parameters for using proxies in WebDriver. Generally you should pass an object of |
@@ -381,4 +382,81 @@ public static Proxy extractFrom(Capabilities capabilities) { |
381 | 382 | } |
382 | 383 | return proxy; |
383 | 384 | } |
| 385 | + |
| 386 | + @Override |
| 387 | + public String toString() { |
| 388 | + StringBuilder builder = new StringBuilder("Proxy("); |
| 389 | + |
| 390 | + switch (getProxyType()) { |
| 391 | + case AUTODETECT: |
| 392 | + case DIRECT: |
| 393 | + case MANUAL: |
| 394 | + case SYSTEM: |
| 395 | + builder.append(getProxyType().toString().toLowerCase()); |
| 396 | + break; |
| 397 | + |
| 398 | + case PAC: |
| 399 | + builder.append("pac: ").append(getProxyAutoconfigUrl()); |
| 400 | + break; |
| 401 | + |
| 402 | + case UNSPECIFIED: |
| 403 | + break; |
| 404 | + } |
| 405 | + |
| 406 | + String p = getFtpProxy(); |
| 407 | + if (p != null) { |
| 408 | + builder.append(", ftp=").append(p); |
| 409 | + } |
| 410 | + p = getHttpProxy(); |
| 411 | + if (p != null) { |
| 412 | + builder.append(", http=").append(p); |
| 413 | + } |
| 414 | + p = getSocksProxy(); |
| 415 | + if (p != null) { |
| 416 | + builder.append(", socks=").append(p); |
| 417 | + } |
| 418 | + p = getSslProxy(); |
| 419 | + if (p != null) { |
| 420 | + builder.append(", ssl=").append(p); |
| 421 | + } |
| 422 | + |
| 423 | + builder.append(")"); |
| 424 | + return builder.toString(); |
| 425 | + } |
| 426 | + |
| 427 | + @Override |
| 428 | + public boolean equals(Object o) { |
| 429 | + if (this == o) { |
| 430 | + return true; |
| 431 | + } |
| 432 | + if (o == null || getClass() != o.getClass()) { |
| 433 | + return false; |
| 434 | + } |
| 435 | + Proxy proxy = (Proxy) o; |
| 436 | + return isAutodetect() == proxy.isAutodetect() && |
| 437 | + getProxyType() == proxy.getProxyType() && |
| 438 | + Objects.equals(getFtpProxy(), proxy.getFtpProxy()) && |
| 439 | + Objects.equals(getHttpProxy(), proxy.getHttpProxy()) && |
| 440 | + Objects.equals(getNoProxy(), proxy.getNoProxy()) && |
| 441 | + Objects.equals(getSslProxy(), proxy.getSslProxy()) && |
| 442 | + Objects.equals(getSocksProxy(), proxy.getSocksProxy()) && |
| 443 | + Objects.equals(getSocksUsername(), proxy.getSocksUsername()) && |
| 444 | + Objects.equals(getSocksPassword(), proxy.getSocksPassword()) && |
| 445 | + Objects.equals(getProxyAutoconfigUrl(), proxy.getProxyAutoconfigUrl()); |
| 446 | + } |
| 447 | + |
| 448 | + @Override |
| 449 | + public int hashCode() { |
| 450 | + return Objects.hash( |
| 451 | + getProxyType(), |
| 452 | + isAutodetect(), |
| 453 | + getFtpProxy(), |
| 454 | + getHttpProxy(), |
| 455 | + getNoProxy(), |
| 456 | + getSslProxy(), |
| 457 | + getSocksProxy(), |
| 458 | + getSocksUsername(), |
| 459 | + getSocksPassword(), |
| 460 | + getProxyAutoconfigUrl()); |
| 461 | + } |
384 | 462 | } |
0 commit comments