/// <exception cref="System.IO.IOException"></exception> /// <exception cref="Org.Apache.Http.HttpException"></exception> public virtual void Write(T message) { Args.NotNull(message, "HTTP message"); WriteHeadLine(message); for (HeaderIterator it = message.HeaderIterator(); it.HasNext();) { Header header = it.NextHeader(); this.sessionBuffer.WriteLine(lineFormatter.FormatHeader(this.lineBuf, header)); } this.lineBuf.Clear(); this.sessionBuffer.WriteLine(this.lineBuf); }
public virtual Apache.Http.Client.Methods.RequestBuilder RemoveHeaders(string name ) { if (name == null || headergroup == null) { return(this); } for (HeaderIterator i = headergroup.Iterator(); i.HasNext();) { Header header = i.NextHeader(); if (Sharpen.Runtime.EqualsIgnoreCase(name, header.GetName())) { i.Remove(); } } return(this); }
public virtual ICollection <string> GetAllowedMethods(HttpResponse response) { Args.NotNull(response, "HTTP response"); HeaderIterator it = response.HeaderIterator("Allow"); ICollection <string> methods = new HashSet <string>(); while (it.HasNext()) { Header header = it.NextHeader(); HeaderElement[] elements = header.GetElements(); foreach (HeaderElement element in elements) { methods.AddItem(element.GetName()); } } return(methods); }
private void ProcessCookies(HeaderIterator iterator, CookieSpec cookieSpec, CookieOrigin cookieOrigin, CookieStore cookieStore) { while (iterator.HasNext()) { Header header = iterator.NextHeader(); try { IList <Apache.Http.Cookie.Cookie> cookies = cookieSpec.Parse(header, cookieOrigin); foreach (Apache.Http.Cookie.Cookie cookie in cookies) { try { cookieSpec.Validate(cookie, cookieOrigin); cookieStore.AddCookie(cookie); if (this.log.IsDebugEnabled()) { this.log.Debug("Cookie accepted [" + FormatCooke(cookie) + "]"); } } catch (MalformedCookieException ex) { if (this.log.IsWarnEnabled()) { this.log.Warn("Cookie rejected [" + FormatCooke(cookie) + "] " + ex.Message); } } } } catch (MalformedCookieException ex) { if (this.log.IsWarnEnabled()) { this.log.Warn("Invalid cookie header: \"" + header + "\". " + ex.Message); } } } }