Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
pve-manager
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
pve-manager
Commits
43138247
Commit
43138247
authored
Apr 10, 2013
by
Dietmar Maurer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cleanup header parser
parent
eff15abe
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
9 deletions
+10
-9
APIDaemon.pm
PVE/APIDaemon.pm
+10
-9
No files found.
PVE/APIDaemon.pm
View file @
43138247
...
...
@@ -287,7 +287,9 @@ sub handle_request {
}
sub
unshift_read_header
{
my
(
$self
,
$reqstate
)
=
@_
;
my
(
$self
,
$reqstate
,
$state
)
=
@_
;
$state
=
{}
if
!
$state
;
$reqstate
->
{
hdl
}
->
unshift_read
(
line
=>
sub
{
my
(
$hdl
,
$line
)
=
@_
;
...
...
@@ -298,8 +300,8 @@ sub unshift_read_header {
my
$r
=
$reqstate
->
{
request
};
if
(
$line
eq
'')
{
$r
->
push_header
(
$
reqstate
->
{
key
},
$req
state
->
{
val
})
if
$
req
state
->
{
key
};
$r
->
push_header
(
$
state
->
{
key
},
$
state
->
{
val
})
if
$state
->
{
key
};
my
$conn
=
$r
->
header
('
Connection
');
...
...
@@ -338,12 +340,12 @@ sub unshift_read_header {
$self
->
handle_request
(
$reqstate
);
}
}
elsif
(
$line
=~
/^([^:\s]+)\s*:\s*(.*)/
)
{
$r
->
push_header
(
$
reqstate
->
{
key
},
$reqstate
->
{
val
})
if
$req
state
->
{
key
};
(
$
reqstate
->
{
key
},
$req
state
->
{
val
})
=
(
$1
,
$2
);
$self
->
unshift_read_header
(
$reqstate
);
$r
->
push_header
(
$
state
->
{
key
},
$state
->
{
val
})
if
$
state
->
{
key
};
(
$
state
->
{
key
},
$
state
->
{
val
})
=
(
$1
,
$2
);
$self
->
unshift_read_header
(
$reqstate
,
$state
);
}
elsif
(
$line
=~
/^\s+(.*)/
)
{
$
req
state
->
{
val
}
.=
"
$1
";
$self
->
unshift_read_header
(
$reqstate
);
$state
->
{
val
}
.=
"
$1
";
$self
->
unshift_read_header
(
$reqstate
,
$state
);
}
else
{
$self
->
error
(
$reqstate
,
506
,
"
unable to parse request header
");
}
...
...
@@ -382,7 +384,6 @@ sub push_request_header {
$reqstate
->
{
proto
}
->
{
ver
}
=
$maj
*
1000
+
$min
;
$reqstate
->
{
request
}
=
HTTP::
Request
->
new
(
$method
,
$uri
);
delete
$reqstate
->
{
key
};
# this is used by unshift_read_header()
$self
->
unshift_read_header
(
$reqstate
);
}
elsif
(
$line
eq
'')
{
# ignore empty lines before requests (browser bugs?)
...
...
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