MCPcopy Create free account
hub / github.com/mhammond/pywin32 / ExecURL

Method ExecURL

isapi/src/PyExtensionObjects.cpp:731–760  ·  view source on GitHub ↗

@pymethod int|EXTENSION_CONTROL_BLOCK|ExecURL|Calls ServerSupportFunction with HSE_REQ_EXEC_URL @comm This function is only available in IIS6 and later.

Source from the content-addressed store, hash-verified

729// @pymethod int|EXTENSION_CONTROL_BLOCK|ExecURL|Calls ServerSupportFunction with HSE_REQ_EXEC_URL
730// @comm This function is only available in IIS6 and later.
731PyObject * PyECB::ExecURL(PyObject *self, PyObject *args)
732{
733 PyObject *obInfo, *obEntity;
734 HSE_EXEC_URL_INFO i;
735 memset(&i, 0, sizeof(i)); // to be sure, to be sure...
736 if (!PyArg_ParseTuple(args, "zzzOOi:ExecURL",
737 &i.pszUrl, // @pyparm string|url||
738 &i.pszMethod, // @pyparm string|method||
739 &i.pszChildHeaders, // @pyparm string|clientHeaders||
740 &obInfo, // @pyparm object|info||Must be None
741 &obEntity, // @pyparm object|entity||Must be None
742 &i.dwExecUrlFlags)) // @pyparm int|flags||
743 return NULL;
744
745 if (obInfo != Py_None || obEntity != Py_None)
746 return PyErr_Format(PyExc_ValueError, "info and entity params must be None");
747
748 i.pUserInfo = NULL;
749 i.pEntity = NULL;
750 PyECB * pecb = (PyECB *) self;
751 EXTENSION_CONTROL_BLOCK *ecb = pecb->m_pcb->GetECB();
752 if (!pecb || !pecb->Check()) return NULL;
753 BOOL bRes;
754 Py_BEGIN_ALLOW_THREADS
755 bRes = ecb->ServerSupportFunction(ecb->ConnID, HSE_REQ_EXEC_URL, &i, NULL,NULL);
756 Py_END_ALLOW_THREADS
757 if (!bRes)
758 return SetPyECBError("ServerSupportFunction(HSE_REQ_EXEC_URL)");
759 Py_RETURN_NONE;
760}
761
762// @pymethod int|EXTENSION_CONTROL_BLOCK|GetExecURLStatus|Calls ServerSupportFunction with HSE_REQ_GET_EXEC_URL_STATUS
763PyObject * PyECB::GetExecURLStatus(PyObject *self, PyObject *args)

Callers 1

DispatchMethod · 0.80

Calls 4

SetPyECBErrorFunction · 0.85
GetECBMethod · 0.80
ServerSupportFunctionMethod · 0.80
CheckMethod · 0.45

Tested by

no test coverage detected