• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2     This file is part of libmicrospdy
3     Copyright Copyright (C) 2012 Andrey Uzunov
4 
5     This program is free software: you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation, either version 3 of the License, or
8     (at your option) any later version.
9 
10     This program is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU General Public License for more details.
14 
15     You should have received a copy of the GNU General Public License
16     along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 */
18 
19 /**
20  * @file alstructures.h
21  * @brief  structures only for the application layer
22  * @author Andrey Uzunov
23  */
24 
25 #ifndef ALSTRUCTURES_H
26 #define ALSTRUCTURES_H
27 
28 #include "platform.h"
29 
30 
31 /**
32  * Represents a SPDY request.
33  */
34 struct SPDY_Request
35 {
36 	/**
37 	 * SPDY stream in whose context the request was received
38 	 */
39 	struct SPDYF_Stream *stream;
40 
41 	/**
42 	 * Other HTTP headers from the request
43 	 */
44 	struct SPDY_NameValue *headers;
45 
46 	/**
47 	 * HTTP method
48 	 */
49 	char *method;
50 
51 	/**
52 	 * HTTP path
53 	 */
54 	char *path;
55 
56 	/**
57 	 * HTTP version just like in HTTP request/response:
58 	 * 			"HTTP/1.0" or "HTTP/1.1" currently
59 	 */
60 	char *version;
61 
62 	/**
63 	 * called host as in HTTP
64 	 */
65 	char *host;
66 
67 	/**
68 	 * The scheme used ("http" or "https")
69 	 */
70 	char *scheme;
71 
72 	/**
73 	 * Extra field to be used by the user with set/get func for whatever
74 	 * purpose he wants.
75 	 */
76 	void *user_cls;
77 };
78 
79 #endif
80