{"action":"created","issue":{"url":"https://api.github.com/repos/freme-project/technical-discussion/issues/34","labels_url":"https://api.github.com/repos/freme-project/technical-discussion/issues/34/labels{/name}","comments_url":"https://api.github.com/repos/freme-project/technical-discussion/issues/34/comments","events_url":"https://api.github.com/repos/freme-project/technical-discussion/issues/34/events","html_url":"https://github.com/freme-project/technical-discussion/issues/34","id":95415913,"number":34,"title":"Pipelining: HTTP serialization","user":{"login":"ghsnd","id":3070412,"avatar_url":"https://avatars.githubusercontent.com/u/3070412?v=3","gravatar_id":"","url":"https://api.github.com/users/ghsnd","html_url":"https://github.com/ghsnd","followers_url":"https://api.github.com/users/ghsnd/followers","following_url":"https://api.github.com/users/ghsnd/following{/other_user}","gists_url":"https://api.github.com/users/ghsnd/gists{/gist_id}","starred_url":"https://api.github.com/users/ghsnd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ghsnd/subscriptions","organizations_url":"https://api.github.com/users/ghsnd/orgs","repos_url":"https://api.github.com/users/ghsnd/repos","events_url":"https://api.github.com/users/ghsnd/events{/privacy}","received_events_url":"https://api.github.com/users/ghsnd/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-07-16T11:46:22Z","updated_at":"2015-08-14T07:19:16Z","closed_at":"2015-08-14T07:19:16Z","body":"One part of the pipelining functionality will be serialization of HTTP requests. This way requests to be performed by the pipeline can be sent in one HTTP call to the service.\r\n\r\nFor instance, here is (very general) how e-Entity and E-Link pipeline could be chained:\r\n\r\n    POST /pipelines?informat=...&prefix=...&outformat=...\r\n    body:\r\n    [\r\n    {\r\n        endpoint: “/e-entity/freme-ner/documents”,\r\n        query-parameters:{\r\n            language: “en”,\r\n            ….\r\n        },\r\n        request-headers:{\r\n            ….\r\n        }\r\n    },\r\n    {\r\n        endpoint: “/e-link/templates/1”,\r\n        query-parameters:{\r\n            language: “en”,\r\n            ….\r\n        },\r\n        request-headers:{\r\n            ….\r\n        }\r\n    },\r\n    ]\r\n\r\nThe JSON body in the request represents 2 HTTP requests - one for e-Entity and one for e-Link.\r\n\r\nSo if you know about any (Java) library that allows to serialize HTTP requests in something human-readable like JSON or XML, please leave a comment! If not, we will write one ourselves."},"comment":{"url":"https://api.github.com/repos/freme-project/technical-discussion/issues/comments/131003162","html_url":"https://github.com/freme-project/technical-discussion/issues/34#issuecomment-131003162","issue_url":"https://api.github.com/repos/freme-project/technical-discussion/issues/34","id":131003162,"user":{"login":"ghsnd","id":3070412,"avatar_url":"https://avatars.githubusercontent.com/u/3070412?v=3","gravatar_id":"","url":"https://api.github.com/users/ghsnd","html_url":"https://github.com/ghsnd","followers_url":"https://api.github.com/users/ghsnd/followers","following_url":"https://api.github.com/users/ghsnd/following{/other_user}","gists_url":"https://api.github.com/users/ghsnd/gists{/gist_id}","starred_url":"https://api.github.com/users/ghsnd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ghsnd/subscriptions","organizations_url":"https://api.github.com/users/ghsnd/orgs","repos_url":"https://api.github.com/users/ghsnd/repos","events_url":"https://api.github.com/users/ghsnd/events{/privacy}","received_events_url":"https://api.github.com/users/ghsnd/received_events","type":"User","site_admin":false},"created_at":"2015-08-14T07:19:16Z","updated_at":"2015-08-14T07:19:16Z","body":"At this moment, this is implemented in the package `eu.freme.eservices.pipelines.requests` in the `pipelines` repository. Take a look at `RequestFactory` or the tests to see how this works."}}