亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? htresponse.c

?? www工具包. 這是W3C官方支持的www支撐庫. 其中提供通用目的的客戶端的WebAPI: complete HTTP/1.1 (with caching, pipelining, PUT, POS
?? C
字號(hào):
/***	RESPONSE MANAGER****	(c) COPYRIGHT MIT 1995.**	Please first read the full copyright statement in the file COPYRIGH.**	@(#) $Id: HTResponse.c,v 2.12 2000/10/30 10:04:23 kahan Exp $**** Authors**	HFN	Henrik Frystyk, frystyk@w3.org*//* Library include files */#include "wwwsys.h"#include "WWWUtil.h"#include "HTHeader.h"#include "HTLib.h"#include "HTWWWStr.h"#include "HTResMan.h"					 /* Implemented here *//* --------------------------------------------------------------------------*//*			Create and delete the HTResponse Object		     *//* --------------------------------------------------------------------------*/PUBLIC HTResponse * HTResponse_new (void){    HTResponse * me;    if ((me = (HTResponse *) HT_CALLOC(1, sizeof(HTResponse))) == NULL)	HT_OUTOFMEM("HTResponse_new()");        /* Default content-* values */    me->content_type = WWW_UNKNOWN;    me->content_length = -1;    /* Default retry after value */    me->retry_after = -1;    /* By default a response is not cachable */    me->cachable = NO;    HTTRACE(CORE_TRACE, "Response.... Created %p\n" _ me);    return me;}PUBLIC BOOL HTResponse_delete (HTResponse * me){    if (me) {	HTTRACE(CORE_TRACE, "Response.... Delete %p\n" _ me);	/* Access Authentication */	HT_FREE(me->realm);	HT_FREE(me->scheme);	if (me->challenge) HTAssocList_delete(me->challenge);	/* Connection headers */	if (me->connection) HTAssocList_delete(me->connection);	/* PEP Information */	if (me->protocol) HTAssocList_delete(me->protocol);	if (me->protocol_request) HTAssocList_delete(me->protocol_request);	if (me->protocol_info) HTAssocList_delete(me->protocol_info);	/* Cache control headers */	if (me->cache_control) HTAssocList_delete(me->cache_control);	/* Byte ranges */	if (me->byte_ranges) HTAssocList_delete(me->byte_ranges);	/* Transfer Encodings */	if (me->transfer_encoding) HTList_delete(me->transfer_encoding);	/* Trailers */	if (me->trailer) HTAssocList_delete(me->trailer);	/* Variants */	if (me->variants) HTAssocList_delete(me->variants);	/*	** Only delete Content Type parameters and original headers if the	** information is not used elsewhere, for example by the anchor	** object.	*/	if (!me->cached) {	    /* Content type parameters */	    if (me->type_parameters) HTAssocList_delete(me->type_parameters);	    /* Content Encodings */	    if (me->content_encoding) HTList_delete(me->content_encoding);	    /* List of all headers */	    if (me->headers) HTAssocList_delete(me->headers);	}	/* HTTP reason string */	if (me->reason)  HT_FREE (me->reason); 	HT_FREE(me);	return YES;    }    return NO;}/* --------------------------------------------------------------------------*//*			Methods on the HTResponse Object		     *//* --------------------------------------------------------------------------*//***    Redirection information*/PUBLIC HTAnchor * HTResponse_redirection (HTResponse * me){    return (me ? me->redirectionAnchor : NULL);}PUBLIC BOOL HTResponse_setRedirection (HTResponse * me, HTAnchor * anchor){    if (me && anchor) {	me->redirectionAnchor = (HTAnchor *) HTAnchor_parent(anchor);	return YES;    }    return NO;}/***	When to retry a response if HT_RETRY**	Returns -1 if not available*/PUBLIC time_t HTResponse_retryTime (HTResponse * me){    return me ? me->retry_after : -1;}PUBLIC BOOL HTResponse_setRetryTime (HTResponse * me, time_t retry){    if (me) {	me->retry_after = retry;	return YES;    }    return NO;}/***  Access Authentication Challenges*/PUBLIC BOOL HTResponse_addChallenge (HTResponse * me,				    char * token, char * value){    if (me) {	if (!me->challenge) me->challenge = HTAssocList_new();	return HTAssocList_addObject(me->challenge, token, value);    }    return NO;}PUBLIC BOOL HTResponse_deleteChallengeAll (HTResponse * me){    if (me && me->challenge) {	HTAssocList_delete(me->challenge);	me->challenge = NULL;	return YES;    }    return NO;}PUBLIC HTAssocList * HTResponse_challenge (HTResponse * me){    return (me ? me->challenge : NULL);}/***  Access Authentication Realms*/PUBLIC BOOL HTResponse_setRealm (HTResponse * me, char * realm){    if (me && realm) {	StrAllocCopy(me->realm, realm);	return YES;    }    return NO;}PUBLIC const char * HTResponse_realm (HTResponse * me){    return (me ? me->realm : NULL);}/***  Access Authentication Schemes*/PUBLIC BOOL HTResponse_setScheme (HTResponse * me, char * scheme){    if (me && scheme) {	StrAllocCopy(me->scheme, scheme);	return YES;    }    return NO;}PUBLIC const char * HTResponse_scheme (HTResponse * me){    return (me ? me->scheme : NULL);}/***  Connection Directives*/PUBLIC BOOL HTResponse_addConnection (HTResponse * me,				      char * token, char * value){    if (me) {	if (!me->connection) me->connection = HTAssocList_new();	return HTAssocList_replaceObject(me->connection, token, value);    }    return NO;}PUBLIC BOOL HTResponse_deleteConnectionAll (HTResponse * me){    if (me && me->connection) {	HTAssocList_delete(me->connection);	me->connection = NULL;	return YES;    }    return NO;}PUBLIC HTAssocList * HTResponse_connection (HTResponse * me){    return (me ? me->connection : NULL);}/***  PEP Protocol header*/PUBLIC BOOL HTResponse_addProtocol (HTResponse * me,				    char * token, char * value){    if (me) {	if (!me->protocol) me->protocol = HTAssocList_new();	return HTAssocList_addObject(me->protocol, token,value);    }    return NO;}PUBLIC BOOL HTResponse_deleteProtocolAll (HTResponse * me){    if (me && me->protocol) {	HTAssocList_delete(me->protocol);	me->protocol = NULL;	return YES;    }    return NO;}PUBLIC HTAssocList * HTResponse_protocol (HTResponse * me){    return (me ? me->protocol : NULL);}/***  PEP Protocol Info header*/PUBLIC BOOL HTResponse_addProtocolInfo (HTResponse * me,					char * token, char * value){    if (me) {	if (!me->protocol_info) me->protocol_info = HTAssocList_new();	return HTAssocList_addObject(me->protocol_info, token,value);    }    return NO;}PUBLIC BOOL HTResponse_deleteProtocolInfoAll (HTResponse * me){    if (me && me->protocol_info) {	HTAssocList_delete(me->protocol_info);	me->protocol_info = NULL;	return YES;    }    return NO;}PUBLIC HTAssocList * HTResponse_protocolInfo (HTResponse * me){    return (me ? me->protocol_info : NULL);}/***  PEP Protocol request header*/PUBLIC BOOL HTResponse_addProtocolRequest (HTResponse * me,					   char * token, char * value){    if (me) {	if (!me->protocol_request) me->protocol_request = HTAssocList_new();	return HTAssocList_addObject(me->protocol_request, token,value);    }    return NO;}PUBLIC BOOL HTResponse_deleteProtocolRequestAll (HTResponse * me){    if (me && me->protocol_request) {	HTAssocList_delete(me->protocol_request);	me->protocol_request = NULL;	return YES;    }    return NO;}PUBLIC HTAssocList * HTResponse_protocolRequest (HTResponse * me){    return (me ? me->protocol_request : NULL);}/***  Cache control directives received in the response*/PUBLIC BOOL HTResponse_deleteCacheControlAll (HTResponse * me){    if (me && me->cache_control) {	HTAssocList_delete(me->cache_control);	me->cache_control = NULL;	return YES;    }    return NO;}PUBLIC HTAssocList * HTResponse_cacheControl (HTResponse * me){    return (me ? me->cache_control : NULL);}PUBLIC BOOL HTResponse_addCacheControl (HTResponse * me,				       char * token, char * value){    if (me) {	if (!me->cache_control)	    me->cache_control=HTAssocList_new();	return HTAssocList_replaceObject(me->cache_control,					 token, value);    }    return NO;}/***  Check whether we can cache this object or not.*/PUBLIC HTCachable HTResponse_isCachable (HTResponse * me){    if (me) {	/* We may already have decided that this object is not cachable */	if (me->cachable == HT_NO_CACHE) return HT_NO_CACHE;#if 0	/*  We don't cache negotiated resources for the moment */	if (me->variants) return HT_NO_CACHE;#endif	/*	**  Check if we should cache this object or not. We are very liberale	**  in that we cache everything except if we explicit are told not to	**  cache (no-store, no-cache). In all other cases we can get around	**  it by forcing revalidation	*/	if (me->cache_control) {	    char * token;	    if ((token=HTAssocList_findObject(me->cache_control, "no-store")))		return HT_NO_CACHE;	    if ((token=HTAssocList_findObject(me->cache_control, "no-cache")))		if (!*token) return HT_NO_CACHE;	}	/* Cache everything else */	return me->cachable;    }    return HT_NO_CACHE;}PUBLIC BOOL HTResponse_setCachable (HTResponse * me, HTCachable mode){    if (me) {	me->cachable = mode;	return YES;    }    return NO;}PUBLIC BOOL HTResponse_isCached (HTResponse * me, BOOL mode){    if (me) {	me->cached = mode;	return YES;    }    return NO;}PUBLIC time_t HTResponse_maxAge (HTResponse * me){    if (me && me->cache_control) {	char * token = HTAssocList_findObject(me->cache_control, "max-age");	if (token) return atol(token);    }    return (time_t) -1;}PUBLIC BOOL HTResponse_mustRevalidate (HTResponse * me){    return me && me->cache_control &&	(HTAssocList_findObject(me->cache_control,				"must-revalidate") != NULL);}PUBLIC char * HTResponse_noCache (HTResponse * me){    return (me && me->cache_control) ?	HTAssocList_findObject(me->cache_control,			       "no-cache") : NULL;}PUBLIC char * HTResponse_etag (HTResponse * me){    if (me && me->headers) {	char * value = HTAssocList_findObject(me->headers, "etag");	char * etag = HTNextField(&value);	return etag;    }    return NULL;}/***  Byte ranges*/PUBLIC BOOL HTResponse_deleteRangeAll (HTResponse * me){    if (me && me->byte_ranges) {	HTAssocList_delete(me->byte_ranges);	me->byte_ranges = NULL;	return YES;    }    return NO;}PUBLIC BOOL HTResponse_addRange (HTResponse * me, char * unit, char * range){    if (me) {	if (!me->byte_ranges) me->byte_ranges = HTAssocList_new();	return HTAssocList_addObject(me->byte_ranges, unit, range);    }    return NO;}PUBLIC HTAssocList * HTResponse_range (HTResponse * me){    return (me ? me->byte_ranges : NULL);}/***  Content Length*/PUBLIC long int HTResponse_length (HTResponse * me){    return me ? me->content_length : -1;}PUBLIC void HTResponse_setLength (HTResponse * me, long int length){    if (me) me->content_length = length;}PUBLIC void HTResponse_addLength (HTResponse * me, long int delta_length){    if (me) {	if (me->content_length < 0)	    me->content_length = delta_length;	else	    me->content_length += delta_length;    }}/***  Content-Type*/PUBLIC HTFormat HTResponse_format (HTResponse * me){    return me ? me->content_type : NULL;}PUBLIC void HTResponse_setFormat (HTResponse * me, HTFormat form){    if (me) me->content_type = form;}PUBLIC HTAssocList * HTResponse_formatParam (HTResponse * me){    return me ? me->type_parameters : NULL;}PUBLIC BOOL HTResponse_addFormatParam (HTResponse * me,				     const char * name, const char * value){    if (me) {	if (!me->type_parameters) me->type_parameters = HTAssocList_new();	return HTAssocList_replaceObject(me->type_parameters, name, value);    }    return NO;}/***  Charset parameter to Content-Type*/PUBLIC HTCharset HTResponse_charset (HTResponse * me){    if (me && me->type_parameters) {	char * charset = HTAssocList_findObject(me->type_parameters,"charset");	return HTAtom_for(charset);    }    return NULL;}PUBLIC BOOL HTResponse_setCharset (HTResponse * me, HTCharset charset){    return HTResponse_addFormatParam(me, "charset", HTAtom_name(charset));}/***	Content Encoding*/PUBLIC BOOL HTResponse_addEncoding (HTResponse * me, HTEncoding encoding){    if (me && encoding) {	if (!me->content_encoding) me->content_encoding = HTList_new();	return HTList_addObject(me->content_encoding, encoding);    }    return NO;}PUBLIC HTList * HTResponse_encoding (HTResponse * me){    return me ? me->content_encoding : NULL;}/***	Transfer Encoding*/PUBLIC BOOL HTResponse_addTransfer (HTResponse * me, HTEncoding transfer){    if (me && transfer) {	if (!me->transfer_encoding) me->transfer_encoding = HTList_new();	return HTList_addObject(me->transfer_encoding, transfer);    }    return NO;}PUBLIC HTList * HTResponse_transfer (HTResponse * me){    return me ? me->transfer_encoding : NULL;}/***	Content Transfer Encoding*/PUBLIC HTEncoding HTResponse_contentTransferEncoding (HTResponse * me){    return me ? me->cte : NULL;}PUBLIC BOOL HTResponse_setContentTransferEncoding (HTResponse * me, HTEncoding transfer){    if (me) {	me->cte = transfer;	return YES;    }    return NO;}PUBLIC BOOL HTResponse_addVariant (HTResponse * me, char * token, char * value){    if (me) {	if (!me->variants) me->variants =HTAssocList_new();	return HTAssocList_replaceObject (me->variants, token, value);    }    return NO;}PUBLIC BOOL HTResponse_deleteVariantAll (HTResponse * me){    if (me && me->variants) {	HTAssocList_delete(me->variants);	me->variants = NULL;	return YES;    }    return NO;}PUBLIC HTAssocList * HTResponse_variant (HTResponse * me){    return (me ? me->variants : NULL);}/***  Trailers*/PUBLIC BOOL HTResponse_addTrailer (HTResponse * me,				   char * token, char * value){    if (me) {	if (!me->trailer) me->trailer = HTAssocList_new();	return HTAssocList_addObject(me->trailer, token, value);    }    return NO;}PUBLIC BOOL HTResponse_deleteTrailerAll (HTResponse * me){    if (me && me->trailer) {	HTAssocList_delete(me->trailer);	me->trailer = NULL;	return YES;    }    return NO;}PUBLIC HTAssocList * HTResponse_trailer (HTResponse * me){    return (me ? me->trailer : NULL);}/***  Original header information*/PUBLIC BOOL HTResponse_addHeader (HTResponse * me,				  char * token, char * value){    if (me) {	if (!me->headers) me->headers = HTAssocList_new();	return HTAssocList_addObject(me->headers, token, value);    }    return NO;}PUBLIC BOOL HTResponse_deleteHeaderAll (HTResponse * me){    if (me && me->headers) {	HTAssocList_delete(me->headers);	me->headers = NULL;	return YES;    }    return NO;}PUBLIC HTAssocList * HTResponse_header (HTResponse * me){    return (me ? me->headers : NULL);}PUBLIC HTAssocList * HTResponse_handOverHeader (HTResponse * me){    HTAssocList * headers = NULL;    if (me) {	headers = me->headers;	me->headers = NULL;	me->type_parameters = NULL;	/* @@@ */    }    return headers;}/***  HTTP reason string*/PUBLIC char * HTResponse_reason (HTResponse * me){    if (me) {      return me->reason;    }    return NULL;}PUBLIC BOOL HTResponse_setReason (HTResponse * me, char * reason){  if (me && reason && *reason) {      StrAllocCopy(me->reason, reason);      return YES;    }  return NO;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲精品超碰| 国产亚洲综合av| 欧美亚日韩国产aⅴ精品中极品| 国产iv一区二区三区| 蜜臀精品一区二区三区在线观看| 亚洲成人黄色小说| 午夜精品视频一区| 午夜精品123| 日韩精品一区第一页| 日本sm残虐另类| 蜜臀av一区二区| 激情综合一区二区三区| 国产一区二区在线免费观看| 国产成人一区在线| 成人黄色在线看| 91女厕偷拍女厕偷拍高清| 91美女在线看| 欧美精品久久天天躁| 日韩欧美国产综合| www激情久久| 国产精品美女久久久久久2018| 国产精品国产三级国产a| 亚洲精品久久7777| 同产精品九九九| 蜜臀a∨国产成人精品| 蜜臀va亚洲va欧美va天堂 | 夜夜精品视频一区二区| 一片黄亚洲嫩模| 日本中文在线一区| 国产精品一级在线| 91日韩精品一区| 91精品国产综合久久精品app| 日韩免费看的电影| 国产欧美综合色| 一区二区三区丝袜| 日韩高清不卡在线| 久久99国产精品久久99果冻传媒| 丰满少妇久久久久久久| 欧美亚男人的天堂| 欧美一区二区三区在线观看| 久久久美女艺术照精彩视频福利播放| 国产精品免费av| 天涯成人国产亚洲精品一区av| 麻豆一区二区三| eeuss鲁片一区二区三区在线看| 色综合久久久久| 欧美zozo另类异族| 亚洲人成网站精品片在线观看| 免费观看在线综合色| 不卡一区二区在线| 欧美卡1卡2卡| 中文字幕一区二区在线观看| 日韩黄色免费电影| 成人高清av在线| 日韩免费视频一区二区| 一区二区在线观看视频在线观看| 久久99精品久久久久久| 欧美性感一区二区三区| 久久久99精品久久| 日本美女视频一区二区| 99久精品国产| 精品国产凹凸成av人网站| 亚洲一区二区中文在线| 粉嫩av亚洲一区二区图片| 91精品国产乱码久久蜜臀| 亚洲色欲色欲www在线观看| 奇米综合一区二区三区精品视频| 色综合咪咪久久| 国产丝袜美腿一区二区三区| 日韩中文欧美在线| 色综合一个色综合亚洲| 国产亚洲污的网站| 蜜桃视频一区二区| 欧美日韩色综合| 亚洲老妇xxxxxx| 成人听书哪个软件好| 亚洲一区二区三区免费视频| 成人激情动漫在线观看| 日韩一区二区免费视频| 一区二区三区加勒比av| av电影在线观看完整版一区二区| 日韩欧美久久一区| 偷拍日韩校园综合在线| 欧美性一区二区| 亚洲三级电影网站| 成人精品在线视频观看| 久久色中文字幕| 美女mm1313爽爽久久久蜜臀| 欧美私人免费视频| 亚洲精品国产一区二区三区四区在线 | 亚洲一区二区三区四区不卡| 不卡高清视频专区| 中文字幕久久午夜不卡| 国产乱码精品一区二区三区av| 制服丝袜成人动漫| 婷婷综合五月天| 欧美日韩免费观看一区三区| 夜夜揉揉日日人人青青一国产精品| 91在线视频网址| 亚洲欧美日韩国产综合| 97se亚洲国产综合自在线 | 国内精品国产成人国产三级粉色 | 亚洲制服丝袜一区| 97久久超碰精品国产| 亚洲欧美影音先锋| 色综合亚洲欧洲| 亚洲美女屁股眼交3| 色一情一伦一子一伦一区| 最近中文字幕一区二区三区| 成人精品高清在线| 国产精品国产三级国产a| 91最新地址在线播放| 亚洲图片欧美激情| 在线免费观看日本欧美| 亚洲免费av观看| 欧美性生交片4| 午夜激情久久久| 欧美成人高清电影在线| 国产呦精品一区二区三区网站| 久久久久亚洲蜜桃| jlzzjlzz亚洲女人18| 亚洲女人小视频在线观看| 欧美日韩精品一区二区三区 | 成人精品国产一区二区4080| 国产精品蜜臀av| 色婷婷av一区二区三区gif| 亚洲成人激情社区| 欧美电影免费观看高清完整版在| 国产乱人伦偷精品视频不卡| 中文字幕精品一区| 色狠狠色噜噜噜综合网| 天天色天天操综合| 久久综合九色综合欧美亚洲| 成人永久免费视频| 夜夜亚洲天天久久| 欧美xxxxxxxxx| 不卡的av电影| 亚洲r级在线视频| 精品国产99国产精品| 99在线精品一区二区三区| 亚洲图片自拍偷拍| 337p日本欧洲亚洲大胆色噜噜| 国产精品12区| 亚洲最新在线观看| 欧美一区二区三区色| 成人免费看片app下载| 亚洲国产综合色| 久久久亚洲精品石原莉奈| 一本色道a无线码一区v| 日韩精品亚洲一区二区三区免费| 久久影院午夜论| 在线中文字幕不卡| 麻豆视频一区二区| 亚洲精品中文在线影院| 欧美精品一区二区三区四区| 亚洲黄色性网站| 国产91丝袜在线观看| 99久久99久久综合| 欧亚洲嫩模精品一区三区| 一本高清dvd不卡在线观看| 欧美绝品在线观看成人午夜影视| 亚洲一区二区精品久久av| 国产精品区一区二区三| 午夜精品久久久久影视| 精品中文字幕一区二区小辣椒| 精品在线免费观看| 欧美日韩在线三区| 欧美高清视频一二三区 | 国产精品夜夜爽| 亚洲精品国产无套在线观| 久久亚洲欧美国产精品乐播| 欧美性大战久久| 成人免费毛片app| 韩国精品主播一区二区在线观看| 亚洲综合精品久久| 国产日韩成人精品| 日韩午夜三级在线| 日本久久一区二区| 成人免费不卡视频| 国产做a爰片久久毛片 | 欧美男女性生活在线直播观看| 成人小视频免费观看| 久久99国产精品尤物| 97久久精品人人做人人爽| 日韩精品中文字幕在线不卡尤物| 国产精品久久久久久久久久久免费看| 婷婷丁香久久五月婷婷| 在线一区二区视频| 青青草精品视频| 国产精品一二三在| 韩国三级电影一区二区| 韩国女主播成人在线| 国产69精品久久99不卡| 久久99精品国产.久久久久久| 一区二区三区在线观看国产 | 免费在线欧美视频| 91美女在线看| 青青草成人在线观看| 亚洲精品国产无套在线观| 一区二区三区欧美日韩|