1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.aether.spi.connector.transport.http;
20
21 import java.util.Collections;
22 import java.util.HashMap;
23 import java.util.Map;
24
25 import org.eclipse.aether.spi.connector.transport.TransportListener;
26 import org.eclipse.aether.transfer.HttpTransportProperty.HttpVersion;
27 import org.eclipse.aether.transfer.HttpTransportProperty.Key;
28 import org.eclipse.aether.transfer.HttpTransportProperty.SslProtocol;
29 import org.eclipse.aether.transfer.TransferEvent;
30
31
32
33
34
35 public final class HttpTransportPropertiesBuilder {
36 private final Map<TransferEvent.TransportPropertyKey, Object> properties = new HashMap<>();
37
38 public HttpTransportPropertiesBuilder(HttpVersion version) {
39 this.properties.put(Key.HTTP_VERSION, version);
40 }
41
42 public HttpTransportPropertiesBuilder withSslProtocol(String name) {
43 return withSslProtocol(SslProtocol.fromStandardName(name));
44 }
45
46 public HttpTransportPropertiesBuilder withSslProtocol(SslProtocol sslProtocol) {
47 this.properties.put(Key.SSL_PROTOCOL, sslProtocol);
48 return this;
49 }
50
51 public HttpTransportPropertiesBuilder withSslCipherSuite(String cipherSuite) {
52 this.properties.put(Key.SSL_CIPHER_SUITE, cipherSuite);
53 return this;
54 }
55
56 public HttpTransportPropertiesBuilder withContentCoding(String contentCoding) {
57 this.properties.put(Key.CONTENT_CODING, contentCoding);
58 return this;
59 }
60
61 public Map<TransferEvent.TransportPropertyKey, Object> build() {
62 return Collections.unmodifiableMap(new HashMap<>(properties));
63 }
64 }