import pychrome
import urllib

browser = pychrome.Browser(url="http://127.0.0.1:9222")
tab = browser.new_tab()

post_data = {
    'param1': 'value1',
    'icinga_problems': '[{"host_name":"businessprocesses","host_display_name":"businessprocesses","host_state":"0","service_description":"BP HelpDesk informacni systemy","service_display_name":"BP HelpDesk informacni systemy","service_state":"2","service_in_downtime":"0","service_acknowledged":"0","service_handled":"0","service_output":"Business Process CRITICAL: Informa\u010dn\u00ed syst\u00e9my","service_perfdata":"","service_attempt":"1\/3","service_last_state_change":"1559045487","service_icon_image":"","service_icon_image_alt":"","service_is_flapping":"0","service_state_type":"1","service_severity":"2176","service_notifications_enabled":"1","service_active_checks_enabled":"1","service_passive_checks_enabled":"1","service_check_command":"icingacli-businessprocess"}]'
}
url_pattern_object = {'urlPattern': '*icinga*'}

is_first_request = True

def on_request_intercepted(**kwargs):
    global is_first_request
    new_args = {'interceptionId': kwargs['interceptionId']}
    
    if is_first_request:
        # Modify first request only, following are media/static
        # requests...
        is_first_request = False
        
        request = kwargs.get('request')
        new_args.update({
            'url': request['url'],
            'method': 'POST',
            'headers': request['headers'],
            'postData': urllib.parse.urlencode(post_data)
        })
    
    tab.Network.continueInterceptedRequest(**new_args)

tab.start()

tab.Network.setRequestInterception(patterns=[url_pattern_object])
tab.Network.requestIntercepted = on_request_intercepted

tab.Network.enable()
tab.Page.enable()

tab.Page.navigate(url='https://karkinos.civ.zcu.cz/icinga_digest/')

tab.wait(3)
tab.stop()

browser.close_tab(tab.id)

