Resolved: GET request works, HEAD request fails, closes #13

master
Marc Wäckerlin 14 years ago
parent 8213c80dde
commit 3f9bfde245
  1. 61
      configure.in
  2. 15
      examples/makefile.am
  3. 6
      proxyface/autoproxy.hxx
  4. 9
      proxyface/makefile.am
  5. 7
      proxyface/proxy.hxx

@ -39,38 +39,55 @@ AC_SUBST(MINOR)
AC_SUBST(LEAST)
# Qt Environment
CPPFLAGS+=" -DUNICODE -DQT_NO_DEBUG"
CPPFLAGS+=" -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_WEBKIT_LIB -DQT_CORE_LIB"
AC_CHECK_HEADER(QtCore/QString, [found="yes"], [found="no"])
if test "$found" == "no"; then
AC_MSG_CHECKING([looking for qt headers])
for file in /usr/include/qt4 /usr/local/include/qt4 /opt/include/qt4 \
/opt/local/include/qt4 /opt/local/libexec/qt4-mac/include \
/usr/include /usr/local/include \
/opt/include /opt/local/include; do
if test -d ${file}/QtCore; then
CPPFLAGS+=" -I$file"
found=$file
break;
AC_MSG_CHECKING(QT4 directory)
QTDIR="no"
AC_ARG_WITH([qt-dir],
AC_HELP_STRING([--with-qt-dir=/path/to/Qt4],
[to specify the path to the Qt4 directory.]),
[QTPATHS="$withval"],
[QTPATHS="/usr/include/qt4 /usr/local/include/qt4 /opt/include/qt4 /opt/local/include/qt4 /opt/local/libexec/qt4-mac/include /usr/include /usr/local/include /opt/include /opt/local/include"])
for x in $QTPATHS; do
if test -d $x/QtCore ; then
QTINCDIR=$x
QTDIR=${x%/include*}
if test -d $QTDIR/lib; then
QTLIBDIR=$QTDIR/lib
break
fi
fi
done
AC_MSG_RESULT([$found])
fi
if test "$found" == "no"; then
done
AC_MSG_RESULT($QTDIR)
AM_CONDITIONAL(USE_QT, test -n "$QTLIBDIR")
if test -z "$QTLIBDIR"; then
AC_MSG_WARN(Could not locate QT 4.1)
case $host in
*darwin*)
PROXYLIB=""
LDFLAGS+=" -lproxy"
;;
*mingw*|*win*)
PROXYLIB="-lwinhttp"
LDFLAGS+=" -lwinhttp"
;;
*)
PROXYLIB="-lproxy"
LDFLAGS+=" -lproxy"
;;
esac
AC_SUBST(PROXYLIB)
AC_MSG_WARN([Qt Headers not found])
else
# by now, Linux/Unix always uses libproxy
case $host in
*darwin*)
LDFLAGS+=" -L$QTLIBDIR -lQtCore -lQtNetwork -lQtGui"
;;
*mingw*|*win*)
LDFLAGS+=" -L$QTLIBDIR -lQtCore4 -lQtNetwork4 -lQtGui4"
;;
*)
LDFLAGS+=" -L$QTLIBDIR -lQtCore -lQtNetwork -lQtGui"
LDFLAGS+=" -lproxy"
;;
esac
CPPFLAGS+=" -DUNICODE -DQT_NO_DEBUG"
CPPFLAGS+=" -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_WEBKIT_LIB -DQT_CORE_LIB"
CPPFLAGS+=" -I$QTINCDIR"
AC_CHECK_PROGS([MOC], [moc-qt4 moc-mac moc])
test -n "$MOC" || AC_MSG_ERROR([moc for Qt 4 not found!])
AC_SUBST(MOC)

@ -3,13 +3,16 @@
## 1 2 3 4 5 6 7 8
## 45678901234567890123456789012345678901234567890123456789012345678901234567890
noinst_PROGRAMS = getproxylist simplegui
AM_CPPFLAGS = -I${top_srcdir}
LDFLAGS = -L${top_builddir}/proxyface/.libs
LDADD = -lQtCore -lQtNetwork -lQtGui -lproxy -lproxyface
AM_LDFLAGS = -L${top_builddir}/proxyface/.libs
LDADD = -lproxyface
getproxylist_SOURCES = getproxylist.cxx
noinst_PROGRAMS = getproxylist
if USE_QT
noinst_PROGRAMS += simplegui
simplegui_SOURCES = simplegui.cxx
endif
getproxylist_SOURCES = getproxylist.cxx
MAINTAINERCLEANFILES = makefile.in
MAINTAINERCLEANFILES = makefile.in

@ -130,7 +130,7 @@ namespace proxy {
// networkmanager
"Interface::setupProxyCheck" -> "QNetworkAccessManager" [label="new"];
"QNetworkAccessManager" -> "«network loop»" [label="QNetworkReply* QNetworkAccessManager::head()"];
"QNetworkAccessManager" -> "«network loop»" [label="QNetworkReply* QNetworkAccessManager::get()"];
// slot interactions
"Interface::timeout" -> "Interface::run" [label="first time\n(own thread)"];
@ -169,7 +169,7 @@ namespace proxy {
|||;
--- [label="for each proxy"];
Interface -> QNetworkAccessManager [label="new"];
QNetworkAccessManager -> QNetworkReply [label="head(url)"];
QNetworkAccessManager -> QNetworkReply [label="get(url)"];
Interface -> Interface [label="_timeout2.start()"];
--- [label=""];
|||;
@ -410,7 +410,7 @@ namespace proxy {
qFatal("connect failed");
QNetworkReply* reply(0);
_requests.insert
(std::make_pair(reply=manager->head
(std::make_pair(reply=manager->get
(QNetworkRequest
(QUrl(QString::fromStdString(url)))),
std::make_pair(manager, prxy)));

@ -1,16 +1,18 @@
if USE_QT
UISOURCES = proxy.ui proxyauth.ui
RESOURCES = resources.cxx
MOCHEADER = proxy.hxx autoproxy.hxx proxyauth.hxx
LANGUAGES = proxy_de.qm proxy_en.qm proxy_fr.qm proxy_it.qm
LANG_TS = proxy_de.ts proxy_en.ts proxy_fr.ts proxy_it.ts
LANG_TS = proxy_de.ts proxy_en.ts proxy_fr.ts proxy_it.ts
UIHEADER = ui_proxy.hxx ui_proxyauth.hxx
MOCSOURCES = moc_proxy.cxx moc_autoproxy.cxx moc_proxyauth.cxx
endif
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libproxyface.pc
pkgconfig2dir = $(datarootdir)/pkgconfig
pkgconfig2_DATA = libproxyface.pc
UIHEADER = ui_proxy.hxx ui_proxyauth.hxx
MOCSOURCES = moc_proxy.cxx moc_autoproxy.cxx moc_proxyauth.cxx
EXTRA_DIST = ${UISOURCES} $(pkgconfig_DATA).in version.cxx.in
@ -23,7 +25,6 @@ proxyface_HEADERS = unix.hxx windoze.hxx qtproxy.hxx \
lib_LTLIBRARIES = libproxyface.la
libproxyface_la_SOURCES = ${MOCSOURCES} ${LANGUAGES} ${RESOURCES} version.cxx
libproxyface_la_LIBADD = ${PROXYLIB}
libproxyface_la_LDFLAGS = -version-info ${LIB_VERSION}
AM_CPPFLAGS = -I${top_srcdir} -I${top_builddir}

@ -137,17 +137,14 @@ namespace gui {
void proxyAuthenticationRequired(const QNetworkProxy& p,
QAuthenticator* auth) {
static ProxyAuth proxyAuth(this);
qDebug()<<"proxyAuthenticationRequired";
ProxyAuth proxyAuth(this);
proxyAuth._realm->setText(auth->realm());
_auto.pause();
qDebug()<<"---> proxyAuthenticationRequired";
if (proxyAuth.exec()==QDialog::Accepted) {
auth->setUser(proxyAuth._username->text());
auth->setPassword(proxyAuth._password->text());
qDebug()<<"Setting authentication to:"
<<auth->user()<<auth->password();
}
qDebug()<<"---> done: proxyAuthenticationRequired";
_auto.restart();
}

Loading…
Cancel
Save