I wonder why you prefer to work with raw sockets instead of using one of many available http clients for Ruby... Just pick one that you like: http://www.slideshare.net/HiroshiNakamura/rubyhttp-clients-comparison To really work with simple rest api you don't need to reimplement baseline things that have been already done and tested. -- ,,,^..^,,,
On Tue, Nov 12, 2013 at 5:40 AM, Sébastien Durand <[email protected]> wrote: > Hi ! > > I want to use CouchDB for a Ruby project. I downloaded CouchRest, but this > driver seems to be overkill for what I want : a simple REST API. > > So, is it wrong to design my own driver (using tcp sockets) ? Like this : > > > class CouchDB > > def initialize(database, host = 'localhost', port = 5984) > @database, @host, @port = database, host, port > end > > def get(uri) > if block_given? > yield get(uri) > else > socket = TCPSocket.open(@host, @port) > request = "" > request << "GET /#{@database}/#{uri} HTTP/1.0\r\n" > request << "\r\n" > socket.write(request) > response = socket.read > socket.close > # TODO : parsing json > end > end > > end > > > It's just a dead simple draft, it works, but what are the drawbacks ? Do I > put myself in trouble ? (I don't have a deep tcp/http background and I fear > it's not that simple.) > > Thank U for you help ! > > Sébastien
