/*
 * Copyright (c) 2011-2013, 2015 Eike Stepper (Berlin, Germany) and others. All rights reserved. This program and the
 * accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this
 * distribution, and is available at http://www.eclipse.org/legal/epl-v10.html Contributors: Eike Stepper - initial API
 * and implementation
 */

/**
 * Transport layer extension with support for HTTP connections.
 */
package org.eclipse.net4j.http;
