Passed
Push — main ( f9007a...25883c )
by Sat CFDI
06:03
created

satcfdi.sat_requests_utils   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Test Coverage

Coverage 84.62%

Importance

Changes 0
Metric Value
wmc 2
eloc 15
dl 0
loc 25
ccs 11
cts 13
cp 0.8462
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A SSLAdapter.proxy_manager_for() 0 3 1
A SSLAdapter.init_poolmanager() 0 3 1
1
# Ciphers compatible with SAT Services
2 1
import ssl
3
4 1
import certifi
5 1
from requests.adapters import HTTPAdapter
6
7 1
CIPHERS = (
8
    'ECDHE+AESGCM:ECDHE+CHACHA20:DHE+AESGCM:DHE+CHACHA20:ECDH+AESGCM:'
9
    'DH+AESGCM:ECDH+AES:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!eNULL:!MD5:!DSS'
10
    ':HIGH:!DH'
11
)
12
13 1
ssl_context = ssl.create_default_context(cafile=certifi.where())
14 1
ssl_context.set_ciphers(CIPHERS)
15
16
17 1
class SSLAdapter(HTTPAdapter):
18 1
    def init_poolmanager(self, *args, **kwargs):
19 1
        kwargs['ssl_context'] = ssl_context
20 1
        return super().init_poolmanager(*args, **kwargs)
21
22 1
    def proxy_manager_for(self, *args, **kwargs):
23
        kwargs['ssl_context'] = ssl_context
24
        return super().proxy_manager_for(*args, **kwargs)
25