WebSocket Client Before Connect and Before WatchDog

WebSocket Client can be customized with some of the events available. There are 2 new events added to the latest version: OnBeforeConnect: this event is called just before the client tries to connect to server OnBeforeWatchDog: sgcWebSocket client has a built-in method to reconnect after a disconnection called WatchDog, this event is called before ...

Continue reading

sgcWebSockets 4.4.6

Here is the comprehensive list of new features and bug fixes included in sgcWebSockets 4.4.6: [+] : New Event OnBeforeForwardHTTP on Server Components, allows to forward an HTTP request to another server. (Thanks to Olaf for his suggestion). [+] : New Event OnAfterForwardHTTP on Server Components, allows to know the response from HTTP Forwarded Req...

Continue reading

Forward HTTP Requests

From  sgcWebSockets 4.4.6, forward HTTP requests is supported. Reverse proxy is useful when there is a single server listening on a public port and behind it there are other servers that cannot be accessed from a public address.  Example: you can serve all HTTP requests using our sgcWebSockets server and forward to another serve...

Continue reading

Telegram Send Message with Buttons

From sgcWebSockets 4.4.6, the telegram client has been improved to support send messages with buttons (only supported when you login as a bot). The methods to send a message have been modified to add a new parameter where you can send the Callback and URL Buttons. Before you send a message create an instance of the class TsgcTelegramReplyMarkupInli...

Continue reading

HTTP/2 Server Push

A new feature has been added to Indy Servers, now Server Push is supported by sgcWebSockets library. HTTP usually works with Request/Response pattern, where client REQUEST a resource to SERVER and SERVER sends a RESPONSE with the resource requested or an error. Usually the client, like a browser, makes a bunch of requests for those assets...

Continue reading

HTTP/2 Conformance Tests

sgcWebSockets supports HTTP/2 protocol on Server and Client components, implementation is made in 100% pure Delphi code without using any external library. We have tested our HTTP/2 implementation using h2spec which is a great tool for testing HTTP/2 protocol https://github.com/summerwind/h2spec The sgcWebSockets HTTP/2 Server and Client compo...

Continue reading

OAuth2 Customize Sign-In HTML

When an OAuth2 client do a request to get a new Access Token, a Web-Page is shown in a web-browser to Allow this connection and login with an User and Password. The HTML page is included by default in Server component, but this code can be customized using OnAuth2BeforeDispatchPage event. procedure OnOAuth2BeforeDispatchPage(Sender: TObject; OAuth2...

Continue reading

OAuth2 Server Allow none authenticated requests

By default, when OAuth2 is enabled on Server Side, all the HTTP Requests require Authentication using Bearer Tokens. If you want allow some URLs to be accessed without the need of use a Bearer Token, you can use the event OnOAuth2BeforeRequest Find below a sample code which shows the use of the event. procedure OnOAuth2BeforeRequest(Sender: TObject...

Continue reading

OAuth2 Server Register Apps

Before a new OAuth2 is requested by a client, the App must be registered in the server. Register a new App requires the following information:   App Name: is the name of the Application. Example: MyApp  RedirectURI: is where the responses will be redirected. Example: http://127.0.0.1:8080  ClientId: is public information and is the I...

Continue reading

OAuth2 Server Endpoints

By default, the OAuth2 Server uses the following Endpoints:   Authorization: /sgc/oauth2/auth   Token: /sgc/oauth2/token Which means that if your server listens on IP 80.54.41.30 and port 8443, the full OAuth2 Endpoints will be:   Authorization: https://80.54.41.30:8443/sgc/oauth2/auth   Token: https://80.54.41.30:8443/sgc/oauth...

Continue reading