Updated - see pmproxy2
Well after a discussion in the chatterbox about customising themes by CSS. I'm not sure exactly who but someone raised the idea of creating a proxy to simply insert a css tag, so I figured why not give it a go, I might even learn something (I did). (Though, its not like there is anything much to this)
The following is the result, it has:
- No Error Control:
- No Cookie Support
- No POST Support
- But... It does the job I wrote it for
I dont know if I will do any more to it or not, depends on how much I can come to liking my own CSS themes. Feel free to run off and improove it beyond what I could possibly do in a decade :)
To run: Just stick the script and your "style.css" file somewhere together, exec it, and you're off and proxying from port 82.
- nashdj
use strict;
use LWP::Simple;
use HTTP::Daemon;
use HTTP::Status;
open(CSS,"style.css") || die "CSS Error: $!";
my $css = join("",<CSS>);
close(CSS);
&serve; #well it was going to be bigger than this originally you see
sub serve
{
my $d=HTTP::Daemon->new(LocalAddr=>'localhost',
LocalPort=>'82',
Reuse => '1') || die "Cant Spawn: $!";
my $c;
while(1)
{
$c =$d->accept;
my $r = $c->get_request();
my $url = $r->uri->as_string;
my $content;
if ($url !~ /style.css$/i)
{
$url =~ s|^(http://).+?/(.*)$|$1www.perlmonks.org/$2|i;
$content = get $url;
$content =~ s|<BODY|<link rel=stylesheet type="text/css" href="/
+style.css">\n<BODY|i;
}
else
{
$content = $css;
}
my $response = HTTP::Response->new();
$response->content($content);
$c->send_response($response);
$c->close;
}
}
-- I was trying to post this in snippits, but my browser didnt seem to be doing anything :)
In reply to pmproxy
by nashdj
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|