00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00024
00025 #ifndef SFML_HTTP_H
00026 #define SFML_HTTP_H
00027
00029
00031 #include <SFML/Config.h>
00032
00033
00037 enum sfHttpMethod
00038 {
00039 sfHttpGet,
00040 sfHttpPost,
00041 sfHttpHead
00042 };
00043
00044
00049 enum sfHttpStatus
00050 {
00051
00052 sfHttpOk = 200,
00053 sfHttpCreated = 201,
00054 sfHttpAccepted = 202,
00055 sfHttpNoContent = 204,
00056
00057
00058 sfHttpMultipleChoices = 300,
00059 sfHttpMovedPermanently = 301,
00060 sfHttpMovedTemporarily = 302,
00061 sfHttpNotModified = 304,
00062
00063
00064 sfHttpBadRequest = 400,
00065 sfHttpUnauthorized = 401,
00066 sfHttpForbidden = 403,
00067 sfHttpNotFound = 404,
00068
00069
00070 sfHttpInternalServerError = 500,
00071 sfHttpNotImplemented = 501,
00072 sfHttpBadGateway = 502,
00073 sfHttpServiceNotAvailable = 503,
00074
00075
00076 sfHttpInvalidResponse = 1000,
00077 sfHttpConnectionFailed = 1001
00078 };
00079
00080
00086 typedef struct sfHttpRequest sfHttpRequest;
00087
00088
00095 CSFML_API sfHttpRequest* sfHttpRequest_Create();
00096
00103 CSFML_API void sfHttpRequest_Destroy(sfHttpRequest* HttpRequest);
00104
00113 CSFML_API void sfHttpRequest_SetField(sfHttpRequest* HttpRequest, const char* Field, const char* Value);
00114
00123 CSFML_API void sfHttpRequest_SetMethod(sfHttpRequest* HttpRequest, sfHttpMethod Method);
00124
00133 CSFML_API void sfHttpRequest_SetURI(sfHttpRequest* HttpRequest, const char* URI);
00134
00144 CSFML_API void sfHttpRequest_SetHttpVersion(sfHttpRequest* HttpRequest, unsigned int Major, unsigned int Minor);
00145
00155 CSFML_API void sfHttpRequest_SetBody(sfHttpRequest* HttpRequest, const char* Body);
00156
00157
00163 typedef struct sfHttpResponse sfHttpResponse;
00164
00165
00172 CSFML_API void sfHttpResponse_Destroy(sfHttpResponse* HttpResponse);
00173
00183 CSFML_API const char* sfHttpResponse_GetField(sfHttpResponse* HttpResponse, const char* Field);
00184
00193 CSFML_API sfHttpStatus sfHttpResponse_GetStatus(sfHttpResponse* HttpResponse);
00194
00203 CSFML_API unsigned int sfHttpResponse_GetMajorVersion(sfHttpResponse* HttpResponse);
00204
00213 CSFML_API unsigned int sfHttpResponse_GetMinorVersion(sfHttpResponse* HttpResponse);
00214
00227 CSFML_API const char* sfHttpResponse_GetBody(sfHttpResponse* HttpResponse);
00228
00229
00235 typedef struct sfHttp sfHttp;
00236
00237
00244 CSFML_API sfHttp* sfHttp_Create();
00245
00252 CSFML_API void sfHttp_Destroy(sfHttp* Http);
00253
00262 CSFML_API void sfHttp_SetHost(sfHttp* Http, const char* Host, unsigned short Port);
00263
00278 CSFML_API sfHttpResponse* sfHttp_SendRequest(sfHttp* Http, sfHttpRequest* Request);
00279
00280
00281 #endif // SFML_HTTP_H