18b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project/* Copyright (C) 2007-2008 The Android Open Source Project 28b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project** 38b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project** This software is licensed under the terms of the GNU General Public 48b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project** License version 2, as published by the Free Software Foundation, and 58b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project** may be copied, distributed, and modified under those terms. 68b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project** 78b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project** This program is distributed in the hope that it will be useful, 88b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project** but WITHOUT ANY WARRANTY; without even the implied warranty of 98b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 108b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project** GNU General Public License for more details. 118b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project*/ 128b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#ifndef _PROXY_HTTP_INT_H 138b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define _PROXY_HTTP_INT_H 148b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project 158b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#include "proxy_http.h" 168b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#include "proxy_int.h" 178b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project 188b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project/* the HttpService object */ 198b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Projecttypedef struct HttpService { 208b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project ProxyService root[1]; 218b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project SockAddress server_addr; /* server address and port */ 228b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project char* footer; /* the footer contains the static parts of the */ 238b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project int footer_len; /* connection header, we generate it only once */ 248b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project char footer0[512]; 258b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project} HttpService; 268b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project 278b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project/* create a CONNECT connection (for port != 80) */ 288b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Projectextern ProxyConnection* http_connector_connect( 298b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project HttpService* service, 308b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project SockAddress* address ); 318b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project 328b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project/* create a HTTP rewriting connection (for port == 80) */ 338b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Projectextern ProxyConnection* http_rewriter_connect( 348b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project HttpService* service, 358b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project SockAddress* address ); 368b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project 378b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project 388b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#endif /* _PROXY_HTTP_INT_H */ 39