"Fossies" - the Fresh Open Source Software Archive

Member "cloudkitty-13.0.0/cloudkitty/common/custom_session.py" (14 Oct 2020, 1136 Bytes) of package /linux/misc/openstack/cloudkitty-13.0.0.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Python source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. For more information about "custom_session.py" see the Fossies "Dox" file reference documentation.

    1 # -*- coding: utf-8 -*-
    2 #
    3 #    Licensed under the Apache License, Version 2.0 (the "License"); you may
    4 #    not use this file except in compliance with the License. You may obtain
    5 #    a copy of the License at
    6 #
    7 #         http://www.apache.org/licenses/LICENSE-2.0
    8 #
    9 #    Unless required by applicable law or agreed to in writing, software
   10 #    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
   11 #    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
   12 #    License for the specific language governing permissions and limitations
   13 #    under the License.
   14 #
   15 import logging
   16 import requests
   17 
   18 from keystoneauth1 import session as ks_session
   19 
   20 
   21 LOG = logging.getLogger(__name__)
   22 
   23 
   24 def create_custom_session(session_options, pool_size):
   25     LOG.debug("Using custom connection pool size: %s", pool_size)
   26     session = requests.Session()
   27     session.adapters['http://'] = ks_session.TCPKeepAliveAdapter(
   28         pool_maxsize=pool_size)
   29     session.adapters['https://'] = ks_session.TCPKeepAliveAdapter(
   30         pool_maxsize=pool_size)
   31 
   32     return ks_session.Session(session=session, **session_options)