aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2017-02-14 20:57:14 -0800
committerzotlabs <mike@macgirvin.com>2017-02-14 20:57:14 -0800
commit07d92796d263d5add84793064e03108eec85db94 (patch)
tree44fb2c23f5514c558e85344f4e24a35fc8e8e98c
parent1f39c16d99720811601791c852314e4c69f24dd5 (diff)
downloadvolse-hubzilla-07d92796d263d5add84793064e03108eec85db94.tar.gz
volse-hubzilla-07d92796d263d5add84793064e03108eec85db94.tar.bz2
volse-hubzilla-07d92796d263d5add84793064e03108eec85db94.zip
provide HTTP header parser which honours continuation lines and despite the fact that continuation lines have been deprecated - as they still exist in the wild.
-rw-r--r--Zotlabs/Web/HTMLHeaders.php46
-rw-r--r--include/text.php5
2 files changed, 46 insertions, 5 deletions
diff --git a/Zotlabs/Web/HTMLHeaders.php b/Zotlabs/Web/HTMLHeaders.php
new file mode 100644
index 000000000..f9bc3043b
--- /dev/null
+++ b/Zotlabs/Web/HTMLHeaders.php
@@ -0,0 +1,46 @@
+<?php
+
+namespace Zotlabs\Web;
+
+class HTMLHeaders {
+
+ private $in_progress = [];
+ private $parsed = [];
+
+
+ function __construct($headers) {
+
+ $lines = explode("\n",str_replace("\r",'',$headers));
+ if($lines) {
+ foreach($lines as $line) {
+ if(preg_match('/^\s+/',$line,$matches) && trim($line)) {
+ if($this->in_progress['k']) {
+ $this->in_progress['v'] .= ' ' . ltrim($line);
+ continue;
+ }
+ }
+ else {
+ if($this->in_progress['k']) {
+ $this->parsed[] = [ $this->in_progress['k'] => $this->in_progress['v'] ];
+ $this->in_progress = [];
+ }
+
+ $this->in_progress['k'] = strtolower(substr($line,0,strpos($line,':')));
+ $this->in_progress['v'] = ltrim(substr($line,strpos($line,':') + 1));
+ }
+
+ }
+ if($this->in_progress['k']) {
+ $this->parsed[] = [ $this->in_progress['k'] => $this->in_progress['v'] ];
+ $this->in_progress = [];
+ }
+ }
+ }
+
+ function fetch() {
+ return $this->parsed;
+ }
+}
+
+
+
diff --git a/include/text.php b/include/text.php
index 8c01ed1d2..cfec1ddf6 100644
--- a/include/text.php
+++ b/include/text.php
@@ -1581,11 +1581,6 @@ function prepare_body(&$item,$attach = false) {
$photo = $prep_arr['photo'];
$event = $prep_arr['event'];
-// q("update item set html = '%s' where id = %d",
-// dbesc($s),
-// intval($item['id'])
-// );
-
if(! $attach) {
return $s;
}