HttpSession

Do bibliotek pisanych w C++ typu grono, pinger i blip potrzebowałem jakiejś prostej i obiektowej obsługi sieci, sesji HTTP. Oczywiście nie będę się męczył z gołym WinAPI. A także, aby w jakimś stopniu zapewnić przenośność głównej biblioteki, w jakich będzie wykorzystywana sieć, zaimplementowałem sobie klasę HttpSession ;)

Korzysta ona z Winiet, więc sama obsługa sieci nie jest crossplatformowa, ale każdy kto będzie chciał użyć docelowej biblioteki, która będzie korzystała z HttpSession, sam sobie będzie muszla takowa zaimplementować, zachowując jedynie publiczny interfejs tej klasy.

Osobiście bibliotekę do obsługi grona, pingera, czy blipa miałem wykorzystać w pluginach do komunikatora Tlen.pl, więc nawet nie kombinowałem nad jakakolwiek implementacją sieciowej klasy na inne systemy.

Ostatnio nawet naszła mnie taka myśl, aby napisać cała bibliotekę do obsługi sieci, nie tylko http, ale także ftp, osobne klasy reprezentujące url, czy ciasteczka.
Ale nie jest mi to akurat potrzebne, wiec póki, co skończyło się na pomyśle i idei.

W sumie pierwsze implementacje tej klasy były bardzo proste, ale kilka dni temu postanowiłem to przepisać, tak, aby bardziej elastyczne było ich używanie i korzystanie w różnych kodach.

Aktualnie klasa leży w lokalnym repozytorium na hdd, ale wrzuciłem najnowsza rewizje na stronę, może komuś się jeszcze przyda i skorzysta ;)
Adres strony: http://projects.malcom.pl/httpsession/
Na stronie tej można znaleźć więcej informacji, plus jakiś mały przykład wykorzystania.

2 przemyślenia nt. „HttpSession”

  1. Pewnie wystraczylby, ale po co linkowac i uzaleznic sie od kolejnego liba.
    Ale skoro potrzebowalem tylko na platformy microsoftowe to wininet wydaje sie lepszym rozwiazaniem. Do tego malutki rozmiar wynikowego kodu przy zastosowaniu HttpSession.

    Dla porownania moja wtyczka do pingera (o wiekszej funkcjnalnosci) zajmuje ~150KB w porownaniu z oficjalna o rozmiarze przekraczajacym 1MB, ktora linkuje statycznie curla i cosc do xmla, zamiast wykorzystac to co jest dostepne, czy to w systemie, czy tlenie :P

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *