/*
- * $Id: wais.cc,v 1.121 1998/09/23 20:13:57 wessels Exp $
+ * $Id: wais.cc,v 1.122 1998/10/12 21:39:06 wessels Exp $
*
* DEBUG: section 24 WAIS Relay
* AUTHOR: Harvest Derived
char *relayhost;
int relayport;
const HttpHeader *request_hdr;
- char request[MAX_URL];
+ char url[MAX_URL];
+ request_t *request;
} WaisStateData;
static PF waisStateFree;
if (waisState == NULL)
return;
storeUnlockObject(waisState->entry);
+ requestUnlink(waisState->request);
cbdataFree(waisState);
}
StoreEntry *entry = waisState->entry;
debug(24, 4) ("waisTimeout: FD %d: '%s'\n", fd, storeUrl(entry));
err = errorCon(ERR_READ_TIMEOUT, HTTP_GATEWAY_TIMEOUT);
- err->request = urlParse(METHOD_CONNECT, waisState->request);
+ err->request = requestLink(waisState->request);
errorAppendEntry(entry, err);
comm_close(fd);
}
storeReleaseRequest(entry);
err = errorCon(ERR_READ_ERROR, HTTP_INTERNAL_SERVER_ERROR);
err->xerrno = errno;
- err->request = urlParse(METHOD_CONNECT, waisState->request);
+ err->request = requestLink(waisState->request);
errorAppendEntry(entry, err);
comm_close(fd);
}
ErrorState *err;
err = errorCon(ERR_ZERO_SIZE_OBJECT, HTTP_SERVICE_UNAVAILABLE);
err->xerrno = errno;
- err->request = urlParse(METHOD_CONNECT, waisState->request);
+ err->request = requestLink(waisState->request);
errorAppendEntry(entry, err);
comm_close(fd);
} else if (len == 0) {
err->xerrno = errno;
err->host = xstrdup(waisState->relayhost);
err->port = waisState->relayport;
- err->request = urlParse(METHOD_CONNECT, waisState->request);
+ err->request = requestLink(waisState->request);
errorAppendEntry(entry, err);
comm_close(fd);
} else {
MemBuf mb;
const char *Method = RequestMethodStr[waisState->method];
debug(24, 5) ("waisSendRequest: FD %d\n", fd);
- memBufPrintf(&mb, "%s %s", Method, waisState->request);
+ memBufPrintf(&mb, "%s %s", Method, waisState->url);
if (waisState->request_hdr) {
Packer p;
packerToMemInit(&p, &mb);
ErrorState *err;
debug(24, 0) ("waisStart: Failed because no relay host defined!\n");
err = errorCon(ERR_NO_RELAY, HTTP_INTERNAL_SERVER_ERROR);
- err->request = urlParse(METHOD_CONNECT, waisState->request);
+ err->request = requestLink(request);
errorAppendEntry(entry, err);
return;
}
waisState->request_hdr = &request->header;
waisState->fd = fd;
waisState->entry = entry;
- xstrncpy(waisState->request, url, MAX_URL);
+ xstrncpy(waisState->url, url, MAX_URL);
+ waisState->request = requestLink(request);
comm_add_close_handler(waisState->fd, waisStateFree, waisState);
storeLockObject(entry);
commSetSelect(fd, COMM_SELECT_WRITE, waisSendRequest, waisState, 0);