Chapter 16. HTTP API component

Table of Contents

Available modules
Admin UI module
Index module
REST module
Server status module
Setup module
Web UI module
DNS Web Service module
User Status Endpoint module
Common module configuration
Enabling/disabling module
Context path
List of virtual hosts
Complex example
Module specific configuration
Rest Module
DNS Web Service module
Enabling password reset mechanism
Admin UI Guide
A Note about REST
General overview of the UI
Configuration
Example Scripts
Notifications
Other
Scripts
Statistics
Users
Tigase Web Client
Chat
Discovery
Management

Tigase HTTP API component is a generic container used to provide other HTTP related features as modules. It is configured by default to run under name of http. Installations of Tigase XMPP Server run this component enabled by default under the same name even if not configured.

Available modules

Admin UI module

This is very simple module for administration of Tigase XMPP Server using HTTP browser. It allows administrators to execute ad-hoc commands from HTTP browser allowing to change some configuration options at runtime. It can be accessed by pointing your browser to http://server.address:8080/admin/ and logging in with admin credentials.

Index module

This module is deployed at / by default and provides list of installed and available modules for the virtual host when requested.

REST module

This module provides REST-like API for accessing Tigase XMPP Server. It uses Groovy scripts to process HTTP requests and prepare responses.

Server status module

Warning

This module is still a work in progress!

This module is designed to present current server status and report possible issues.

Setup module

Module is created to act as a web based installer and configuration utility for Tigase XMPP Server. Allows you to modify basic Tigase XMPP Server settings, ie. related to database access. Changes may be saved to configuration file from this module.

Web UI module

This module contains full web client based on Tigase JaXMPP client library allowing user to chat, manage contacts list (roster), browse message archive, etc. For more information on this module, consult the Administration Guide.

DNS Web Service module

For web based XMPP clients it is not possible to execute DNS SRV requests to find address of XMPP server hosting for particular domain. To solve this the DNS Web Service module was created.

It handles incoming HTTP GET request and using Host HTTP header executes DNS requests as specified in XEP-0156: Discovering Alternative XMPP Connection Methods. Results are returned in XML or JSON as specified in the XEP mentioned before.

By default it is deployed at dns-webservice and path for XML response is /dns-webservice/.well-known/host-meta and for JSON is /dns-webservice/-known/host-meta.json.

User Status Endpoint module

This module is designed as an endpoint required for REST API User Status to work properly. It is not accessible using HTTP/REST API, so it can (and in most cases should) be active.