Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
f0458b21
Commit
f0458b21
authored
Aug 29, 2019
by
Zebediah Figura
Committed by
Alexandre Julliard
Aug 30, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
httpapi: Partially implement HttpSetUrlGroupProperty().
Signed-off-by:
Zebediah Figura
<
z.figura12@gmail.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
792521f3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
57 additions
and
2 deletions
+57
-2
httpapi.spec
dlls/httpapi/httpapi.spec
+1
-0
httpapi_main.c
dlls/httpapi/httpapi_main.c
+28
-2
http.h
include/http.h
+28
-0
No files found.
dlls/httpapi/httpapi.spec
View file @
f0458b21
...
...
@@ -49,6 +49,7 @@
@ stub HttpSetControlChannelInformation
@ stub HttpSetServerContextInformation
@ stdcall HttpSetServiceConfiguration(ptr long ptr long ptr)
@ stdcall HttpSetUrlGroupProperty(int64 long ptr long)
@ stub HttpShutdownAppPool
@ stub HttpShutdownFilter
@ stdcall HttpTerminate(long ptr)
...
...
dlls/httpapi/httpapi_main.c
View file @
f0458b21
...
...
@@ -474,6 +474,7 @@ ULONG WINAPI HttpSendHttpResponse(HANDLE queue, HTTP_REQUEST_ID id, ULONG flags,
struct
url_group
{
struct
list
entry
,
session_entry
;
HANDLE
queue
;
};
static
struct
list
url_groups
=
LIST_INIT
(
url_groups
);
...
...
@@ -565,7 +566,8 @@ ULONG WINAPI HttpCreateUrlGroup(HTTP_SERVER_SESSION_ID session_id, HTTP_URL_GROU
struct
server_session
*
session
;
struct
url_group
*
group
;
TRACE
(
"session_id %#I64x, group_id %p, reserved %#x.
\n
"
,
session_id
,
group_id
,
reserved
);
TRACE
(
"session_id %s, group_id %p, reserved %#x.
\n
"
,
wine_dbgstr_longlong
(
session_id
),
group_id
,
reserved
);
if
(
!
(
session
=
get_server_session
(
session_id
)))
return
ERROR_INVALID_PARAMETER
;
...
...
@@ -587,7 +589,7 @@ ULONG WINAPI HttpCloseUrlGroup(HTTP_URL_GROUP_ID id)
{
struct
url_group
*
group
;
TRACE
(
"id %
#I64x.
\n
"
,
id
);
TRACE
(
"id %
s.
\n
"
,
wine_dbgstr_longlong
(
id
)
);
if
(
!
(
group
=
get_url_group
(
id
)))
return
ERROR_INVALID_PARAMETER
;
...
...
@@ -598,3 +600,27 @@ ULONG WINAPI HttpCloseUrlGroup(HTTP_URL_GROUP_ID id)
return
ERROR_SUCCESS
;
}
/***********************************************************************
* HttpSetUrlGroupProperty (HTTPAPI.@)
*/
ULONG
WINAPI
HttpSetUrlGroupProperty
(
HTTP_URL_GROUP_ID
id
,
HTTP_SERVER_PROPERTY
property
,
void
*
value
,
ULONG
length
)
{
struct
url_group
*
group
=
get_url_group
(
id
);
const
HTTP_BINDING_INFO
*
info
=
value
;
TRACE
(
"id %s, property %u, value %p, length %u.
\n
"
,
wine_dbgstr_longlong
(
id
),
property
,
value
,
length
);
if
(
property
!=
HttpServerBindingProperty
)
{
FIXME
(
"Unhandled property %u.
\n
"
,
property
);
return
ERROR_CALL_NOT_IMPLEMENTED
;
}
TRACE
(
"Binding to queue %p.
\n
"
,
info
->
RequestQueueHandle
);
group
->
queue
=
info
->
RequestQueueHandle
;
return
ERROR_SUCCESS
;
}
include/http.h
View file @
f0458b21
...
...
@@ -397,6 +397,33 @@ typedef struct _HTTP_LOG_DATA
HTTP_LOG_DATA_TYPE
Type
;
}
HTTP_LOG_DATA
,
*
PHTTP_LOG_DATA
;
typedef
enum
_HTTP_SERVER_PROPERTY
{
HttpServerAuthenticationProperty
,
HttpServerLoggingProperty
,
HttpServerQosProperty
,
HttpServerTimeoutsProperty
,
HttpServerQueueLengthProperty
,
HttpServerStateProperty
,
HttpServer503VerbosityProperty
,
HttpServerBindingProperty
,
HttpServerExtendedAuthenticationProperty
,
HttpServerListenEndpointProperty
,
HttpServerChannelBindProperty
,
HttpServerProtectionLevelProperty
,
}
HTTP_SERVER_PROPERTY
,
*
PHTTP_SERVER_PROPERTY
;
typedef
struct
_HTTP_PROPERTY_FLAGS
{
ULONG
Present
:
1
;
}
HTTP_PROPERTY_FLAGS
,
*
PHTTP_PROPERTY_FLAGS
;
typedef
struct
_HTTP_BINDING_INFO
{
HTTP_PROPERTY_FLAGS
Flags
;
HANDLE
RequestQueueHandle
;
}
HTTP_BINDING_INFO
,
*
PHTTP_BINDING_INFO
;
ULONG
WINAPI
HttpAddUrl
(
HANDLE
,
PCWSTR
,
PVOID
);
ULONG
WINAPI
HttpCloseServerSession
(
HTTP_SERVER_SESSION_ID
id
);
ULONG
WINAPI
HttpCloseUrlGroup
(
HTTP_URL_GROUP_ID
id
);
...
...
@@ -411,6 +438,7 @@ ULONG WINAPI HttpReceiveHttpRequest(HANDLE queue, HTTP_REQUEST_ID id, ULONG flag
ULONG
WINAPI
HttpRemoveUrl
(
HANDLE
queue
,
const
WCHAR
*
url
);
ULONG
WINAPI
HttpSendHttpResponse
(
HANDLE
queue
,
HTTP_REQUEST_ID
id
,
ULONG
flags
,
HTTP_RESPONSE
*
response
,
HTTP_CACHE_POLICY
*
cache_policy
,
ULONG
*
ret_size
,
void
*
reserved1
,
ULONG
reserved2
,
OVERLAPPED
*
ovl
,
HTTP_LOG_DATA
*
log_data
);
ULONG
WINAPI
HttpSetServiceConfiguration
(
HANDLE
,
HTTP_SERVICE_CONFIG_ID
,
PVOID
,
ULONG
,
LPOVERLAPPED
);
ULONG
WINAPI
HttpSetUrlGroupProperty
(
HTTP_URL_GROUP_ID
id
,
HTTP_SERVER_PROPERTY
property
,
void
*
value
,
ULONG
length
);
#ifdef __cplusplus
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment