91 while(iterator !=
NULL)
93 if(strcmp(
":method",iterator->
name) == 0)
97 method = iterator->
value[0];
99 else if(strcmp(
":path",iterator->
name) == 0)
103 path = iterator->
value[0];
105 else if(strcmp(
":version",iterator->
name) == 0)
109 version = iterator->
value[0];
111 else if(strcmp(
":host",iterator->
name) == 0)
116 host = iterator->
value[0];
118 else if(strcmp(
":scheme",iterator->
name) == 0)
122 scheme = iterator->
value[0];
132 iterator = iterator->
next;
143 if(
NULL == method || strlen(method) == 0
144 ||
NULL == path || strlen(path) == 0
145 ||
NULL == version || strlen(version) == 0
146 ||
NULL == host || strlen(host) == 0
147 ||
NULL == scheme || strlen(scheme) == 0
171 stream->
cls = request;
223 "response queue must have either control frame or data frame");
227 response_queue->
rrcb(response_queue->
rrcb_cls, response_queue->
response, request, status, streamopened);
235 "Buffer size is less than max supported frame size!");
237 "Max supported frame size must be bigger than the minimal value!");
239 "SPDY_init must be called only once per program or after SPDY_deinit");
253 "SPDY_init could not find even one IO subsystem");
263 "SPDY_init has not been called!");
289 unsigned long long *timeout)
304 fd_set *write_fd_set,
305 fd_set *except_fd_set)
308 ||
NULL == read_fd_set
309 ||
NULL == write_fd_set
310 ||
NULL == except_fd_set)
357 va_start(valist, cls);
392 const char * statustext,
393 const char * version,
400 char *fullstatus =
NULL;
402 int num_hdr_containers = 1;
415 num_hdr_containers = 2;
417 if(
NULL == (all_headers = malloc(num_hdr_containers *
sizeof(
struct SPDY_NameValue *))))
419 memset(all_headers, 0, num_hdr_containers *
sizeof(
struct SPDY_NameValue *));
421 if(2 == num_hdr_containers)
422 all_headers[1] = headers;
427 if(
NULL == statustext)
428 ret = asprintf(&fullstatus,
"%i", status);
430 ret = asprintf(&fullstatus,
"%i %s", status, statustext);
455 if(
NULL == (response->
data = malloc(size)))
460 memcpy(response->
data, data, size);
470 if(
NULL != all_headers)
481 const char * statustext,
482 const char * version,
528 bool consider_priority,
594 int_consider_priority);
598 int_consider_priority);
620 int_consider_priority);
657 int_consider_priority);
661 int_consider_priority);
670 struct sockaddr ** addr)
678 *addr = session->
addr;