FreeRDP
http.h File Reference
#include <winpr/stream.h>
#include <freerdp/api.h>
#include "../../crypto/tls.h"
This graph shows which files directly or indirectly include this file:

Data Structures

struct  http_encoding_chunked_context
 

Enumerations

enum  HTTP_STATUS {
  HTTP_STATUS_CONTINUE = 100 , HTTP_STATUS_SWITCH_PROTOCOLS = 101 , HTTP_STATUS_OK = 200 , HTTP_STATUS_CREATED = 201 ,
  HTTP_STATUS_ACCEPTED = 202 , HTTP_STATUS_PARTIAL = 203 , HTTP_STATUS_NO_CONTENT = 204 , HTTP_STATUS_RESET_CONTENT = 205 ,
  HTTP_STATUS_PARTIAL_CONTENT = 206 , HTTP_STATUS_WEBDAV_MULTI_STATUS = 207 , HTTP_STATUS_AMBIGUOUS = 300 , HTTP_STATUS_MOVED = 301 ,
  HTTP_STATUS_REDIRECT = 302 , HTTP_STATUS_REDIRECT_METHOD = 303 , HTTP_STATUS_NOT_MODIFIED = 304 , HTTP_STATUS_USE_PROXY = 305 ,
  HTTP_STATUS_REDIRECT_KEEP_VERB = 307 , HTTP_STATUS_BAD_REQUEST = 400 , HTTP_STATUS_DENIED = 401 , HTTP_STATUS_PAYMENT_REQ = 402 ,
  HTTP_STATUS_FORBIDDEN = 403 , HTTP_STATUS_NOT_FOUND = 404 , HTTP_STATUS_BAD_METHOD = 405 , HTTP_STATUS_NONE_ACCEPTABLE = 406 ,
  HTTP_STATUS_PROXY_AUTH_REQ = 407 , HTTP_STATUS_REQUEST_TIMEOUT = 408 , HTTP_STATUS_CONFLICT = 409 , HTTP_STATUS_GONE = 410 ,
  HTTP_STATUS_LENGTH_REQUIRED = 411 , HTTP_STATUS_PRECOND_FAILED = 412 , HTTP_STATUS_REQUEST_TOO_LARGE = 413 , HTTP_STATUS_URI_TOO_LONG = 414 ,
  HTTP_STATUS_UNSUPPORTED_MEDIA = 415 , HTTP_STATUS_RETRY_WITH = 449 , HTTP_STATUS_SERVER_ERROR = 500 , HTTP_STATUS_NOT_SUPPORTED = 501 ,
  HTTP_STATUS_BAD_GATEWAY = 502 , HTTP_STATUS_SERVICE_UNAVAIL = 503 , HTTP_STATUS_GATEWAY_TIMEOUT = 504 , HTTP_STATUS_VERSION_NOT_SUP = 505
}
 
enum  TRANSFER_ENCODING { TransferEncodingUnknown , TransferEncodingIdentity , TransferEncodingChunked }
 
enum  CHUNK_STATE { ChunkStateLenghHeader , ChunkStateData , ChunkStateFooter , ChunkStateEnd }
 

Functions

FREERDP_LOCAL HttpContext * http_context_new (void)
 
FREERDP_LOCAL void http_context_free (HttpContext *context)
 
FREERDP_LOCAL BOOL http_context_set_method (HttpContext *context, const char *Method)
 
FREERDP_LOCAL const char * http_context_get_uri (HttpContext *context)
 
FREERDP_LOCAL BOOL http_context_set_uri (HttpContext *context, const char *URI)
 
FREERDP_LOCAL BOOL http_context_set_user_agent (HttpContext *context, const char *UserAgent)
 
FREERDP_LOCAL BOOL http_context_set_x_ms_user_agent (HttpContext *context, const char *UserAgent)
 
FREERDP_LOCAL BOOL http_context_set_host (HttpContext *context, const char *Host)
 
FREERDP_LOCAL BOOL http_context_set_accept (HttpContext *context, const char *Accept)
 
FREERDP_LOCAL BOOL http_context_set_cache_control (HttpContext *context, const char *CacheControl)
 
FREERDP_LOCAL BOOL http_context_set_connection (HttpContext *context, const char *Connection)
 
FREERDP_LOCAL BOOL http_context_set_pragma (HttpContext *context, const char *Pragma)
 
FREERDP_LOCAL BOOL http_context_set_cookie (HttpContext *context, const char *CookieName, const char *CookieValue)
 
FREERDP_LOCAL BOOL http_context_set_rdg_connection_id (HttpContext *context, const char *RdgConnectionId)
 
FREERDP_LOCAL BOOL http_context_set_rdg_auth_scheme (HttpContext *context, const char *RdgAuthScheme)
 
FREERDP_LOCAL BOOL http_context_enable_websocket_upgrade (HttpContext *context, BOOL enable)
 
FREERDP_LOCAL BOOL http_context_is_websocket_upgrade_enabled (HttpContext *context)
 
FREERDP_LOCAL HttpRequest * http_request_new (void)
 
FREERDP_LOCAL void http_request_free (HttpRequest *request)
 
FREERDP_LOCAL BOOL http_request_set_method (HttpRequest *request, const char *Method)
 
FREERDP_LOCAL BOOL http_request_set_content_type (HttpRequest *request, const char *ContentType)
 
FREERDP_LOCAL SSIZE_T http_request_get_content_length (HttpRequest *request)
 
FREERDP_LOCAL BOOL http_request_set_content_length (HttpRequest *request, size_t length)
 
FREERDP_LOCAL const char * http_request_get_uri (HttpRequest *request)
 
FREERDP_LOCAL BOOL http_request_set_uri (HttpRequest *request, const char *URI)
 
FREERDP_LOCAL BOOL http_request_set_auth_scheme (HttpRequest *request, const char *AuthScheme)
 
FREERDP_LOCAL BOOL http_request_set_auth_param (HttpRequest *request, const char *AuthParam)
 
FREERDP_LOCAL BOOL http_request_set_transfer_encoding (HttpRequest *request, TRANSFER_ENCODING TransferEncoding)
 
FREERDP_LOCAL wStreamhttp_request_write (HttpContext *context, HttpRequest *request)
 
FREERDP_LOCAL HttpResponse * http_response_new (void)
 
FREERDP_LOCAL void http_response_free (HttpResponse *response)
 
FREERDP_LOCAL BOOL http_response_print (HttpResponse *response)
 
FREERDP_LOCAL HttpResponse * http_response_recv (rdpTls *tls, BOOL readContentLength)
 
FREERDP_LOCAL long http_response_get_status_code (HttpResponse *response)
 
FREERDP_LOCAL SSIZE_T http_response_get_body_length (HttpResponse *response)
 
FREERDP_LOCAL const BYTEhttp_response_get_body (HttpResponse *response)
 
FREERDP_LOCAL const char * http_response_get_auth_token (HttpResponse *response, const char *method)
 
FREERDP_LOCAL const char * http_response_get_setcookie (HttpResponse *response, const char *cookie)
 
FREERDP_LOCAL TRANSFER_ENCODING http_response_get_transfer_encoding (HttpResponse *response)
 
FREERDP_LOCAL BOOL http_response_is_websocket (HttpContext *http, HttpResponse *response)
 
FREERDP_LOCAL const char * http_status_string (long status)
 
FREERDP_LOCAL char * http_status_string_format (long status, char *buffer, size_t size)
 
FREERDP_LOCAL int http_chuncked_read (BIO *bio, BYTE *pBuffer, size_t size, http_encoding_chunked_context *encodingContext)
 

Enumeration Type Documentation

◆ CHUNK_STATE

Enumerator
ChunkStateLenghHeader 
ChunkStateData 
ChunkStateFooter 
ChunkStateEnd 

◆ HTTP_STATUS

FreeRDP: A Remote Desktop Protocol Implementation Hypertext Transfer Protocol (HTTP)

Copyright 2012 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Enumerator
HTTP_STATUS_CONTINUE 
HTTP_STATUS_SWITCH_PROTOCOLS 
HTTP_STATUS_OK 
HTTP_STATUS_CREATED 
HTTP_STATUS_ACCEPTED 
HTTP_STATUS_PARTIAL 
HTTP_STATUS_NO_CONTENT 
HTTP_STATUS_RESET_CONTENT 
HTTP_STATUS_PARTIAL_CONTENT 
HTTP_STATUS_WEBDAV_MULTI_STATUS 
HTTP_STATUS_AMBIGUOUS 
HTTP_STATUS_MOVED 
HTTP_STATUS_REDIRECT 
HTTP_STATUS_REDIRECT_METHOD 
HTTP_STATUS_NOT_MODIFIED 
HTTP_STATUS_USE_PROXY 
HTTP_STATUS_REDIRECT_KEEP_VERB 
HTTP_STATUS_BAD_REQUEST 
HTTP_STATUS_DENIED 
HTTP_STATUS_PAYMENT_REQ 
HTTP_STATUS_FORBIDDEN 
HTTP_STATUS_NOT_FOUND 
HTTP_STATUS_BAD_METHOD 
HTTP_STATUS_NONE_ACCEPTABLE 
HTTP_STATUS_PROXY_AUTH_REQ 
HTTP_STATUS_REQUEST_TIMEOUT 
HTTP_STATUS_CONFLICT 
HTTP_STATUS_GONE 
HTTP_STATUS_LENGTH_REQUIRED 
HTTP_STATUS_PRECOND_FAILED 
HTTP_STATUS_REQUEST_TOO_LARGE 
HTTP_STATUS_URI_TOO_LONG 
HTTP_STATUS_UNSUPPORTED_MEDIA 
HTTP_STATUS_RETRY_WITH 
HTTP_STATUS_SERVER_ERROR 
HTTP_STATUS_NOT_SUPPORTED 
HTTP_STATUS_BAD_GATEWAY 
HTTP_STATUS_SERVICE_UNAVAIL 
HTTP_STATUS_GATEWAY_TIMEOUT 
HTTP_STATUS_VERSION_NOT_SUP 

◆ TRANSFER_ENCODING

Enumerator
TransferEncodingUnknown 
TransferEncodingIdentity 
TransferEncodingChunked 

Function Documentation

◆ http_chuncked_read()

FREERDP_LOCAL int http_chuncked_read ( BIO *  bio,
BYTE pBuffer,
size_t  size,
http_encoding_chunked_context encodingContext 
)
Here is the caller graph for this function:

◆ http_context_enable_websocket_upgrade()

FREERDP_LOCAL BOOL http_context_enable_websocket_upgrade ( HttpContext *  context,
BOOL  enable 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_context_free()

FREERDP_LOCAL void http_context_free ( HttpContext *  context)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_context_get_uri()

FREERDP_LOCAL const char* http_context_get_uri ( HttpContext *  context)
Here is the caller graph for this function:

◆ http_context_is_websocket_upgrade_enabled()

FREERDP_LOCAL BOOL http_context_is_websocket_upgrade_enabled ( HttpContext *  context)
Here is the caller graph for this function:

◆ http_context_new()

FREERDP_LOCAL HttpContext* http_context_new ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_context_set_accept()

FREERDP_LOCAL BOOL http_context_set_accept ( HttpContext *  context,
const char *  Accept 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_context_set_cache_control()

FREERDP_LOCAL BOOL http_context_set_cache_control ( HttpContext *  context,
const char *  CacheControl 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_context_set_connection()

FREERDP_LOCAL BOOL http_context_set_connection ( HttpContext *  context,
const char *  Connection 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_context_set_cookie()

FREERDP_LOCAL BOOL http_context_set_cookie ( HttpContext *  context,
const char *  CookieName,
const char *  CookieValue 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_context_set_host()

FREERDP_LOCAL BOOL http_context_set_host ( HttpContext *  context,
const char *  Host 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_context_set_method()

FREERDP_LOCAL BOOL http_context_set_method ( HttpContext *  context,
const char *  Method 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_context_set_pragma()

FREERDP_LOCAL BOOL http_context_set_pragma ( HttpContext *  context,
const char *  Pragma 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_context_set_rdg_auth_scheme()

FREERDP_LOCAL BOOL http_context_set_rdg_auth_scheme ( HttpContext *  context,
const char *  RdgAuthScheme 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_context_set_rdg_connection_id()

FREERDP_LOCAL BOOL http_context_set_rdg_connection_id ( HttpContext *  context,
const char *  RdgConnectionId 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_context_set_uri()

FREERDP_LOCAL BOOL http_context_set_uri ( HttpContext *  context,
const char *  URI 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_context_set_user_agent()

FREERDP_LOCAL BOOL http_context_set_user_agent ( HttpContext *  context,
const char *  UserAgent 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_context_set_x_ms_user_agent()

FREERDP_LOCAL BOOL http_context_set_x_ms_user_agent ( HttpContext *  context,
const char *  UserAgent 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_request_free()

FREERDP_LOCAL void http_request_free ( HttpRequest *  request)
Here is the caller graph for this function:

◆ http_request_get_content_length()

FREERDP_LOCAL SSIZE_T http_request_get_content_length ( HttpRequest *  request)

◆ http_request_get_uri()

FREERDP_LOCAL const char* http_request_get_uri ( HttpRequest *  request)

◆ http_request_new()

FREERDP_LOCAL HttpRequest* http_request_new ( void  )
Here is the caller graph for this function:

◆ http_request_set_auth_param()

FREERDP_LOCAL BOOL http_request_set_auth_param ( HttpRequest *  request,
const char *  AuthParam 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_request_set_auth_scheme()

FREERDP_LOCAL BOOL http_request_set_auth_scheme ( HttpRequest *  request,
const char *  AuthScheme 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_request_set_content_length()

FREERDP_LOCAL BOOL http_request_set_content_length ( HttpRequest *  request,
size_t  length 
)
Here is the caller graph for this function:

◆ http_request_set_content_type()

FREERDP_LOCAL BOOL http_request_set_content_type ( HttpRequest *  request,
const char *  ContentType 
)
Here is the call graph for this function:

◆ http_request_set_method()

FREERDP_LOCAL BOOL http_request_set_method ( HttpRequest *  request,
const char *  Method 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_request_set_transfer_encoding()

FREERDP_LOCAL BOOL http_request_set_transfer_encoding ( HttpRequest *  request,
TRANSFER_ENCODING  TransferEncoding 
)
Here is the caller graph for this function:

◆ http_request_set_uri()

FREERDP_LOCAL BOOL http_request_set_uri ( HttpRequest *  request,
const char *  URI 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_request_write()

FREERDP_LOCAL wStream* http_request_write ( HttpContext *  context,
HttpRequest *  request 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_response_free()

FREERDP_LOCAL void http_response_free ( HttpResponse *  response)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_response_get_auth_token()

FREERDP_LOCAL const char* http_response_get_auth_token ( HttpResponse *  response,
const char *  method 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_response_get_body()

FREERDP_LOCAL const BYTE* http_response_get_body ( HttpResponse *  response)
Here is the caller graph for this function:

◆ http_response_get_body_length()

FREERDP_LOCAL SSIZE_T http_response_get_body_length ( HttpResponse *  response)
Here is the caller graph for this function:

◆ http_response_get_setcookie()

FREERDP_LOCAL const char* http_response_get_setcookie ( HttpResponse *  response,
const char *  cookie 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_response_get_status_code()

FREERDP_LOCAL long http_response_get_status_code ( HttpResponse *  response)
Here is the caller graph for this function:

◆ http_response_get_transfer_encoding()

FREERDP_LOCAL TRANSFER_ENCODING http_response_get_transfer_encoding ( HttpResponse *  response)
Here is the caller graph for this function:

◆ http_response_is_websocket()

FREERDP_LOCAL BOOL http_response_is_websocket ( HttpContext *  http,
HttpResponse *  response 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_response_new()

FREERDP_LOCAL HttpResponse* http_response_new ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_response_print()

FREERDP_LOCAL BOOL http_response_print ( HttpResponse *  response)
Here is the caller graph for this function:

◆ http_response_recv()

FREERDP_LOCAL HttpResponse* http_response_recv ( rdpTls *  tls,
BOOL  readContentLength 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_status_string()

FREERDP_LOCAL const char* http_status_string ( long  status)
Here is the caller graph for this function:

◆ http_status_string_format()

FREERDP_LOCAL char* http_status_string_format ( long  status,
char *  buffer,
size_t  size 
)
Here is the call graph for this function:
Here is the caller graph for this function: