Thanks! That's a nice starting point. What I was wondering is: can I
do this as a node.js extension? Let's say a programmer already has his
own server created. I would like to extend whatever he did with what
you wrote. http.createServer won't be my choice since a server already
exists, right? How can I "add" those matched patterns (with relative
callbacks for GET/PUT/POST/DELETE) to an already created server?
Thanks a lot!

On Apr 19, 5:24 pm, Tim Caswell <[email protected]> wrote:
> Ok, for HTTP request pathname matching you can just use express.  I'm
> pretty sure it allows this kind of pattern matching our of the box.  To
> implement such matching yourself it easy.
>
> var http = require('http');
> var url = require('url');
>
> // Match /some/folder/:id/*
> var pattern = new RegExp("^/some/folder/([^/]+)(.*)$");
>
> http.createServer(function (req, res) {
>   // pathname removes trailing query strings and gives just the path
>   var pathname = url.parse(req.url).pathname;
>   var match = pathname.match(pattern);
>   if (match) {
>     // the request matched
>     // :id is in match[1] and anything after it is in match[2];
>   }
>
> })
>
> What most frameworks will do is take your string like
> "/foo/bar/:param1/:param2" and compile it into a custom regular expression
> and then match on that.
>
>
>
>
>
>
>
> On Thu, Apr 19, 2012 at 10:16 AM, Masiar <[email protected]> wrote:
> > Imagine a service that sells goods. With the extensions I would like
> > to have a programmer able to call init() passing as parameter a path,
> > for example '/buy/:itemId',(I'm working on a protocol I won't explain
> > in full details), and then my extension extends that path: thus it
> > creates paths such as '/buy/:itemId/myStuff' and listen on that path
> > for POST, GET, DELETE, PUT. That's it. Hope that's clearer.
>
> > P.S. I always worked with express.js, I don't know if there is
> > something similar to the signature ":itemId" for example, to gather
> > all the paths to that listener with some itemId. I used that signature
> > to let you understand what I mean.
>
> > On Apr 19, 2:25 pm, Tim Caswell <[email protected]> wrote:
> > > Could you be more specific?  What kind of paths are these.  Are you
> > talking
> > > a virtual filesystem, or http request urls or something else?
>
> > > On Thu, Apr 19, 2012 at 3:06 AM, Masiar <[email protected]> wrote:
> > > > Hello everybody. Sorry for the meaningless title, I would like to
> > > > create a Node.js extension that extends the paths the programmer
> > > > writes adding some more to integrate a protocol I'm researching right
> > > > now.
> > > > The idea is the following: the programmer writes his/her server with
> > > > his paths and stuff. When initialized, my extensions should create
> > > > some a couple of listeners on some paths, for example:
>
> > > > var myExtension = require('./myExtension');
> > > > //...
> > > > myExtension.init(...);
>
> > > > and myExtension will create for example a listener to "/myextension/a"
> > > > which will do something (decided by my extension).
> > > > I wanted to know if this is somehow possible to do and if it is, how
> > > > would you do that.
> > > > Thanks,
>
> > > > Masiar
>
> > > > --
> > > > Job Board:http://jobs.nodejs.org/
> > > > Posting guidelines:
> > > >https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> > > > You received this message because you are subscribed to the Google
> > > > Groups "nodejs" group.
> > > > To post to this group, send email to [email protected]
> > > > To unsubscribe from this group, send email to
> > > > [email protected]
> > > > For more options, visit this group at
> > > >http://groups.google.com/group/nodejs?hl=en?hl=en
>
> > --
> > Job Board:http://jobs.nodejs.org/
> > Posting guidelines:
> >https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> > You received this message because you are subscribed to the Google
> > Groups "nodejs" group.
> > To post to this group, send email to [email protected]
> > To unsubscribe from this group, send email to
> > [email protected]
> > For more options, visit this group at
> >http://groups.google.com/group/nodejs?hl=en?hl=en

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to