Exemplo n.º 1
0
mUpnpHttpHeader *mupnp_http_headerlist_get(mUpnpHttpHeaderList *headerList, const char *name)
{
	mUpnpHttpHeader *header;
	const char *headerName;
		
	mupnp_log_debug_l4("Entering...\n");

	if (name == NULL)
		return NULL;
		
	for (header = mupnp_http_headerlist_gets(headerList); header != NULL; header = mupnp_http_header_next(header)) {
		headerName = mupnp_http_header_getname(header);
		if (headerName == NULL)
			continue;
		if (mupnp_strcasecmp(headerName, name) == 0)
			return header;
	}
	
	return NULL;

	mupnp_log_debug_l4("Leaving...\n");
}
Exemplo n.º 2
0
void mupnp_ssdp_packet_print(mUpnpSSDPPacket *ssdpPkt)
{
	mUpnpHttpHeader *header;
	
	mupnp_log_debug_l4("Entering...\n");

	mupnp_log_debug_s("ssdp from %s %d\n",
		mupnp_ssdp_packet_getremoteaddress(ssdpPkt),
		mupnp_ssdp_packet_getremoteport(ssdpPkt));
		
	/**** print headers ****/
	for (header = mupnp_http_headerlist_gets(ssdpPkt->headerList); header != NULL; header = mupnp_http_header_next(header)) {
	mupnp_log_debug_s("%s: %s\n",
			mupnp_http_header_getname(header),
			mupnp_http_header_getvalue(header));
	}


	mupnp_log_debug_l4("Leaving...\n");
}
Exemplo n.º 3
0
void mupnp_ssdp_packet_copy(mUpnpSSDPPacket *dstSsdpPkt, mUpnpSSDPPacket *srcSsdpPkt)
{
	mUpnpHttpHeader *srcHeader;
	mUpnpHttpHeader *destHeader;
	
	mupnp_log_debug_l4("Entering...\n");

	mupnp_socket_datagram_packet_copy(dstSsdpPkt->dgmPkt, srcSsdpPkt->dgmPkt);

	/**** copy headers ****/
	mupnp_ssdp_packet_clear(dstSsdpPkt);
	for (srcHeader = mupnp_ssdp_packet_getheaders(srcSsdpPkt); srcHeader != NULL; srcHeader = mupnp_http_header_next(srcHeader)) {
		destHeader = mupnp_http_header_new();
		mupnp_http_header_setname(destHeader, mupnp_http_header_getname(srcHeader));
		mupnp_http_header_setvalue(destHeader, mupnp_http_header_getvalue(srcHeader));
		mupnp_ssdp_packet_addheader(dstSsdpPkt, destHeader);
	}
	
	/* Set timestamp */
	mupnp_ssdp_packet_settimestamp(dstSsdpPkt, mupnp_getcurrentsystemtime());

	mupnp_log_debug_l4("Leaving...\n");
}
Exemplo n.º 4
0
char *mupnp_ssdprequest_tostring(mUpnpSSDPRequest *ssdpReq, mUpnpString *ssdpMsg)
{
	mUpnpHttpHeader *header;
	const char *name;
	const char *value;
	
	mupnp_log_debug_l4("Entering...\n");

	mupnp_string_addvalue(ssdpMsg, mupnp_http_request_getmethod(ssdpReq));
	mupnp_string_addvalue(ssdpMsg, MUPNP_HTTP_SP);
	mupnp_string_addvalue(ssdpMsg, mupnp_http_request_geturi(ssdpReq));
	mupnp_string_addvalue(ssdpMsg, MUPNP_HTTP_SP);
	mupnp_string_addvalue(ssdpMsg, mupnp_http_request_getversion(ssdpReq));
	mupnp_string_addvalue(ssdpMsg, MUPNP_HTTP_CRLF);
	
	for (header = mupnp_http_packet_getheaders((mUpnpHttpPacket *)ssdpReq); header != NULL; header = mupnp_http_header_next(header)) {
		name = mupnp_http_header_getname(header);
		value = mupnp_http_header_getvalue(header);
		mupnp_string_addvalue(ssdpMsg, name);
		mupnp_string_addvalue(ssdpMsg, MUPNP_HTTP_COLON);
		mupnp_string_addvalue(ssdpMsg, MUPNP_HTTP_SP);
		mupnp_string_addvalue(ssdpMsg, value);
		mupnp_string_addvalue(ssdpMsg, MUPNP_HTTP_CRLF);
	}
	mupnp_string_addvalue(ssdpMsg, MUPNP_HTTP_CRLF);
	
	return mupnp_string_getvalue(ssdpMsg);

	mupnp_log_debug_l4("Leaving...\n");
}