1 package org.eclipse.aether.transport.http;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.http.Header;
23 import org.apache.http.HttpHeaders;
24 import org.apache.http.HttpResponse;
25
26 import javax.inject.Named;
27 import javax.inject.Singleton;
28 import java.util.Collections;
29 import java.util.Map;
30
31
32
33
34
35
36 @Singleton
37 @Named( Nexus2ChecksumExtractor.NAME )
38 public class Nexus2ChecksumExtractor
39 extends ChecksumExtractor
40 {
41 public static final String NAME = "nexus2";
42
43 @Override
44 public Map<String, String> extractChecksums( HttpResponse response )
45 {
46
47 Header header = response.getFirstHeader( HttpHeaders.ETAG );
48 String etag = header != null ? header.getValue() : null;
49 if ( etag != null )
50 {
51 int start = etag.indexOf( "SHA1{" ), end = etag.indexOf( "}", start + 5 );
52 if ( start >= 0 && end > start )
53 {
54 return Collections.singletonMap( "SHA-1", etag.substring( start + 5, end ) );
55 }
56 }
57 return null;
58 }
59 }