List of usage examples for org.apache.commons.httpclient HeaderElement getParameters
public NameValuePair[] getParameters()
From source file:com.esri.gpt.agp.client.AgpDPart.java
/** * Execute the write./*from w w w. j a va 2s . c om*/ * @param out the output stream * @throws Exception if an exception occurs */ private void execSend(final OutputStream destinationStream) throws Exception { AgpConnection srcCon = this.sourceConnection; String sUrl = this.sourceUrl; String rqType = "application/x-www-form-urlencoded"; StringBuilder rqParams = new StringBuilder(); srcCon.appendToken(rqParams); AgpProperties hdr = srcCon.makeRequestHeaderProperties(); AgpClient client = srcCon.ensureClient(); StringProvider provider = new StringProvider(rqParams.toString(), rqType); this.step = "connectingToSource"; try { client.executeRequest(sUrl, hdr, provider, new ContentHandler() { @Override public boolean onBeforeReadResponse(HttpClientRequest request) { AgpDPart oThis = AgpDPart.this; ResponseInfo info = request.getResponseInfo(); Header h; String s; s = "responseContentLength " + info.getContentLength(); AgpDPart.LOGGER.finest("onBeforeReadResponse " + s); h = info.getResponseHeader("Content-Type"); if (h != null) { HeaderElement elements[] = h.getElements(); // Expect only one header element to be there, no more, no less if (elements.length == 1) { String sContentType = elements[0].getName(); String sCharset = null; NameValuePair nvp = elements[0].getParameterByName("charset"); if (nvp != null) { sCharset = nvp.getValue(); } oThis.setContentType(sContentType); oThis.setCharset(sCharset); s = "contentType=" + sContentType + " charset=" + sCharset; AgpDPart.LOGGER.finest("onBeforeReadResponse " + s); } } h = info.getResponseHeader("Content-Disposition"); if (h != null) { HeaderElement elements[] = h.getElements(); for (HeaderElement element : elements) { NameValuePair[] params = element.getParameters(); for (NameValuePair param : params) { s = "Content-Disposition param " + param.getName() + "=" + param.getValue(); AgpDPart.LOGGER.finest("onBeforeReadResponse " + s); if (param.getName().equals("filename")) { String sValue = param.getValue(); if (sValue != null) { oThis.sourceFileName = sValue; oThis.setFileName(sValue); s = "found Content-Disposition filename " + oThis.sourceFileName; AgpDPart.LOGGER.finest("onBeforeReadResponse " + s); } } else if (param.getName().equals("size")) { String sValue = param.getValue(); if (sValue != null) { long nSize = -2; try { nSize = Long.valueOf(param.getValue()); oThis.sourceLength = nSize; s = "found Content-Disposition size " + nSize; AgpDPart.LOGGER.finest("onBeforeReadResponse " + s); } catch (NumberFormatException nfe) { nSize = -2; } } } } } } return true; } @Override public void readResponse(HttpClientRequest request, InputStream responseStream) throws IOException { AgpDPart.LOGGER.finest("readResponse, streaming data..."); AgpDPart oThis = AgpDPart.this; oThis.step = "streamingToDestination"; oThis.sendStart(destinationStream); oThis.sendDispositionHeader(destinationStream); oThis.sendContentTypeHeader(destinationStream); oThis.sendTransferEncodingHeader(destinationStream); oThis.sendEndOfHeader(destinationStream); long nTotal = oThis.streamData(responseStream, destinationStream); AgpDPart.LOGGER.finest("readResponse, bytes transferred=" + nTotal); oThis.sendEnd(destinationStream); } }); } catch (IOException e) { boolean bThrow = true; if (this.step.equals("connectingToSource")) { String s = this.getName(); if ((s != null) && s.equals("metadata")) { s = e.toString(); // this is what happens when there is no metadata // 1.6.02 HTTP Request failed: HTTP/1.1 500 Internal Server Error // AGOL 4/13/2012 HTTP Request failed: HTTP/1.1 400 Bad Request if (s.contains("HTTP Request failed")) { AgpDPart.LOGGER.finest("No metadata found " + s); bThrow = false; } } } else { throw e; } if (bThrow) throw e; } }
From source file:org.apache.axis2.transport.http.AbstractHTTPSender.java
private String processCookieHeader(HeaderElement element) { String cookie = element.getName() + "=" + element.getValue(); NameValuePair[] parameters = element.getParameters(); for (int j = 0; parameters != null && j < parameters.length; j++) { NameValuePair parameter = parameters[j]; cookie = cookie + "; " + parameter.getName() + "=" + parameter.getValue(); }//w w w. j a va2s.c om return cookie; }
From source file:org.apache.axis2.transport.http.AbstractHTTPSender.java
private String processCookieHeaders(Header[] headers) { String cookie = ""; for (Header header : headers) { if (!cookie.equals("")) { cookie = cookie + ";"; }/*w ww . ja va 2 s . c om*/ HeaderElement[] elements = header.getElements(); for (HeaderElement element : elements) { cookie = cookie + element.getName() + "=" + element.getValue(); NameValuePair[] parameters = element.getParameters(); for (NameValuePair parameter : parameters) { cookie = cookie + "; " + parameter.getName() + "=" + parameter.getValue(); } } } return cookie; }