FreeRDP
libfreerdp/core/gateway/http.h File Reference
#include <winpr/stream.h>
#include <freerdp/api.h>
#include <freerdp/utils/http.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  TRANSFER_ENCODING { TransferEncodingUnknown , TransferEncodingIdentity , TransferEncodingChunked }
 
enum  CHUNK_STATE { ChunkStateLenghHeader , ChunkStateData , ChunkStateFooter , ChunkStateEnd }
 

Functions

FREERDP_LOCAL void http_context_free (HttpContext *context)
 
FREERDP_LOCAL HttpContext * http_context_new (void)
 
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, WINPR_FORMAT_ARG const char *Pragma,...)
 
FREERDP_LOCAL BOOL http_context_append_pragma (HttpContext *context, WINPR_FORMAT_ARG 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 GUID *RdgConnectionId)
 
FREERDP_LOCAL BOOL http_context_set_rdg_correlation_id (HttpContext *context, const GUID *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 void http_request_free (HttpRequest *request)
 
FREERDP_LOCAL HttpRequest * http_request_new (void)
 
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 void http_response_free (HttpResponse *response)
 
FREERDP_LOCAL HttpResponse * http_response_new (void)
 
FREERDP_LOCAL HttpResponse * http_response_recv (rdpTls *tls, BOOL readContentLength)
 
FREERDP_LOCAL long http_response_get_status_code (const HttpResponse *response)
 
FREERDP_LOCAL size_t http_response_get_body_length (const HttpResponse *response)
 
FREERDP_LOCAL const BYTEhttp_response_get_body (const HttpResponse *response)
 
FREERDP_LOCAL const char * http_response_get_auth_token (const HttpResponse *response, const char *method)
 
FREERDP_LOCAL const char * http_response_get_setcookie (const HttpResponse *response, const char *cookie)
 
FREERDP_LOCAL TRANSFER_ENCODING http_response_get_transfer_encoding (const HttpResponse *response)
 
FREERDP_LOCAL BOOL http_response_is_websocket (const HttpContext *http, const HttpResponse *response)
 
FREERDP_LOCAL void http_response_log_error_status (wLog *log, DWORD level, const HttpResponse *response)
 
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 

◆ TRANSFER_ENCODING

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
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 call graph for this function:
Here is the caller graph for this function:

◆ http_context_append_pragma()

FREERDP_LOCAL BOOL http_context_append_pragma ( HttpContext *  context,
WINPR_FORMAT_ARG const char *  Pragma,
  ... 
)

◆ 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,
WINPR_FORMAT_ARG 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 GUID *  RdgConnectionId 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ http_context_set_rdg_correlation_id()

FREERDP_LOCAL BOOL http_context_set_rdg_correlation_id ( HttpContext *  context,
const GUID *  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 call graph for this function:
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 ( const 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 ( const HttpResponse *  response)

◆ http_response_get_body_length()

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

◆ http_response_get_setcookie()

FREERDP_LOCAL const char* http_response_get_setcookie ( const 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 ( const HttpResponse *  response)
Here is the caller graph for this function:

◆ http_response_get_transfer_encoding()

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

◆ http_response_is_websocket()

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

◆ http_response_log_error_status()

FREERDP_LOCAL void http_response_log_error_status ( wLog *  log,
DWORD  level,
const 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_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: