Fork me on GitHub

26 Aug 2011

Grails Gotcha: Beware HEAD requests when rendering binary output in controllers

Although most Grails controllers render HTML, JSON or XML output it is possible to use them to render binary data as well. We use a controller to render images uploaded by editors into our content management interface. The theory is simple enough, instead of using the render dynamic method or returning a model the controller action just writes bytes directly to the HTTP response stream. Our action looked something like this:

def show = {
    def image = Image.read(params.id)
    if (image) {
        response.contentType = image.contentType
        response.outputStream.withStream { stream ->
            stream << image.bytes
        }
    } else {
        response.sendError SC_NOT_FOUND
    }
}

This seemed to work well enough. However when writing a test I noticed an odd thing. I was using RESTClient to scrape resource URLs out of and make a HEAD request against them to ensure the URLs were valid. Javascript and CSS files were working fine but all the non-static images in the page were getting 404s. Initially I suspected a data setup problem and spent some time ensuring my test was setting data up properly. It was only once I put some debug logging in the controller action that I saw that the controller was actually loading images. The 404 was not coming from the else block in the action as I initially assumed. I tried changing the RESTClient call from head to get and suddenly the image URLs started working!

Once I did that I realised what the problem was. An HTTP HEAD request does not expect a response, in fact a server receiving a HEAD request must not return a response. The response stream that our controller action is writing to is, when the request method is HEAD, actually a no-op stream. When the action completes Grails checks to see if anything has been committed to the response stream and since it has not assumes that we want to render a view by convention. You can probably see where this is going now. The convention is that the request gets forwarded to grails-app/views/<controller>/<action>.gsp which of course does not exist. The forwarded request sets a response code of 404 because there is no GSP!

We caught this bug in our app completely by accident but it could actually have been quite serious. Caching proxies and CDNs may well use a HEAD request to revalidate content and on getting a 404 assume that the URL is no longer valid. If the 404 response itself then gets cached we could get broken images on our site because the CDN tells the client browser there's nothing there.

The solution is simple enough. I changed the controller action to simply set a 200 response code when it gets a HEAD request for a valid image:

def show = {
    def image = Image.read(params.id)
    if (image) {
        if (request.method == "HEAD") {
            render SC_OK
        } else {
            response.contentType = image.contentType
            response.outputStream.withStream { stream ->
                stream << image.bytes
            }
        }
    } else {
        response.sendError SC_NOT_FOUND
    }
}

A neater solution might be to use Grails’ support for mapping actions to request methods so that GET and HEAD requests dispatch to different actions.

89 comments:

James said...

Although strictly speaking the head request should return the number of bytes in the Content-Length header that would be returned in the get request's stream?

Marc Palmer said...

Maybe we need a withRequestMethod block. Could be nice.

Unknown said...

Her voice,her bright body.Her infinite hike81ai eyes.I no longer love her,
that's certain,but maybe I love her.
Cheap New Era Hats
New Era Fitted Hats
Wholesale Cheap Hats
Cheap Hats
Cheap NCAA Hats

Anonymous said...

Great Code :) Thanks for Sharing



Wedding Websites

Bella Tran said...

Thanks for sharing this quality information with us and i like this.
juegos kizi | happy wheels | juegos kizi | agario | agar io | my little pony games | fireboy and watergirl

Unknown said...

You need to kill time, you need entertainment. Refer to our website. hope you get the most comfort.
Thanks you for sharing!
Friv 4

Unknown said...

Play the Best Free Games! We've picked out the racing games, cooking games, candy crush, games shooting, fashion games, ...
Thanks for sharing !
Kizi 200
Friv 1
Y88
Y9

Unknown said...

Thanks for sharing. I hope it will be helpful for too many people that are searching for this topic.
run 2 game | slitherio | run 2 unblocked | slither io | run 2 game | slither.io

Unknown said...

The article clearly and plainly as I will learn and focus on it baixar sonic dash , baixar sonic dash , baixar sonic dash , baixar sonic dash , baixar sonic dash , baixar sonic dash , baixar sonic dash , baixar sonic dash , baixar sonic dash , baixar sonic dash , baixar sonic dash , baixar sonic dash , baixar sonic dash , baixar sonic dash , baixar sonic dash

baixar sonic dash , baixar sonic dash , baixar sonic dash , baixar sonic dash , baixar sonic dash , baixar sonic dash , baixar sonic dash, baixar sonic dash, baixar sonic dash , baixar sonic dash , baixar sonic dash , baixar sonic dash , baixar sonic dash

Unknown said...

Very helpful advice in this particular post! It’s the little changes that make the largest changes. Thanks for sharing!
strike force kitty 2 | swords and souls 2 | red ball 3 | ninjago games

Unknown said...

شركة عزل اسطح بالدمام
شركة عزل اسطح بالخبر
شركة مكافحة حشرات بالدمام
شركة مكافحة حشرات بالخبر
شركة كشف تسربات المياة بالدمام
شركة كشف تسربات المياة بالخبر
شركة تنظيف مجالس بالدمام
شركة تنظيف مجالس بالخبر
شركة تنظيف سجاد بالدمام
شركة تنظيف سجاد بالخبر
شركة تنظيف بالدمام
شركة تنظيف بالخبر
شركة تسليك مجاري بالدمام
شركة تسليك مجاري بالخبر









Unknown said...

super post live cricket stream, webcric live, crictime, smartcric

bloxorz said...

Thanks for your page! Your share information it helped me alot! I pray for you to be happy and successful in your life.
bloxorz

bloxorz said...

it's so simple yet beautiful! I believe evryone will thank us for your post!
slither io

Hari Jack said...

Thanks for the informations you shared!! I hope you will continue to have similar posts to share with everyone!
slither io

قمة الدقة للخدمات said...

شركة كشف تسربات المياه بالخبر
شركة تنظيف بيارات بالدمام

Unknown said...


شركة رش مبيدات بالاحساء
اتود الوصول لافضل عمليات التنظيف مع الحصول علي ضمان لاطول فترة خصومات وعروض رائعه لعمليات التنظيف يمكنك الاستمتاع بالخدمة عن طريق زيارة الرابط التالي

شركة تنظيف فلل بالاحساء

شركة تنظيف شقق بالدمام

Unknown said...

iWantv! 'ABS-CBN live spilling' appears with only 1 click! – LopezLink. Jan 28, 2010 - iWantv! gives you a chance to get well known shows in video-on-request and live channel groups. The video-on-request choice makes live gushing of iWant television 2.3.2 for Android – Download Dialect. Creator: ABS-CBN. Security level: 100% safe. Estimate: 3.04MB. Downloads: 12,463. Date: 07.29.16. Bundle Name: com.abscbn.iwantv. IWanTV | LoadCentral Philippines Its administrations incorporate Article source and voice, and portable web alongside the restrictive access to ABS-CBN substance through the IWanTV! application. It was propelled on Article source
ABS-CBN Shows, iWanTV, different substance to be accessible to Shrewd. Sep 27, 2016 - To begin with iWant television, PLDT Home and Savvy endorsers can enlist for a record by means of www.iwantv.com.ph or download the iWant television. iWantv!: Online Free television at your own opportunity | penworks | photoblog Nov 8, 2010 - iWantv is an administration allowed to all SKYBROADBAND and BayanDSL endorsers. Facilitating all the top of the line shows of ABS-CBN, ANC, Studio 23. Get Premium Access on iWantTV with Article source 50! | Starmometer. Nov 13, 2016 - Missing a scene of your most loved primetime teleserye in light of terrible movement is presently a thing previously. With ABS-CBN's iWanTV, I can.
Interpret this page. Liza Soberano and Enrique Gil repeat their very much cherished parts as Agnes and Xander as they top bill "Everlastingly and the sky is the limit from there," the main select substance offering on. the most effective method to download recordings from iwantv » YugaTech | Philippines Tech. BayanDSL and Article source is currently offering live gushing television and video-on-request to all it's DSL endorsers and Sky Broadband clients. Accessible channels incorporate. iWanTV Files – LIONHEARTV. More on the web and cell phone clients keep on watching ABS-CBN programs online by means of the video-on-request and livestreaming administration iWanTV. Article source

الصفوة جروب said...

هل تعانون من الحشرات وكثرتها واضرارها البالغة نقدم لكم افضل شركة لابادة جميع انواع الحشرات بالضمان وهي شركة المثالية لمكافحة الحشرات حيث تقدم اليوم افضل العروض والخدمات بارخص الاسعار بخصم 50% لفترة محدودة

شركة المثالية لمكافحة الحشرات
شركة المثالية لمكافحة الحشرات بالدمام
شركة المثالية لمكافحة الحشرات بالخبر
شركة المثالية لمكافحة الحشرات بالقطيف
______________________________________________________________________________________________________________
شركة المثالية لمكافحة الحشرات بالاحساء
شركة المثالية لمكافحة الحشرات بالجبيل
شركة المثالية لمكافحة الحشرات بجدة

الصفوة جروب said...

شركة امست للتنظيف افضل شركة لتنظيف المنازل والشقق والفللوالبيوت والمجالس والكنب والمفروشات والخزانات بالقطيف والمنطقة الشرقية لديها عمالة مدربة وخصومات هائلة طما توفر خدمات مكافحة الحشرات ورش المبيدات بالقطيف باسعار رخيصة ومناسبة وخصومات هائلة

شركة امست للتنظيف
امست للنظافة القطيف
شركة امست لمكافحة الحشرات
شركة امست لرش المبيدات

الصفوة جروب said...

مغسلة الجبر
مغاسل الجبر للتنظيف
مغاسل الجبر بالرياض
مغسلة الجبر للتنظيف

الصفوة جروب said...

شركة تنظيف كنب بالقطيف
شركة تنظيف مكيفات بالقطيف
شركة تنظيف مطابخ بالقطيف
شركة مكافحة حشرات بالقطيف
شركة مكافحة النمل الابيض بالقطيف

الصفوة جروب said...

افضل شركة تنظيف بالقطيف تقدم خدمات نظافة متكاملة علي اعلي مستوي بدقة وجودة ومواصفات قياسية واسعار تنافسية فتعد الشركة الاولي بالقطيف لتقديم خدماتالتنظيف بجودة وسعر مثالييينفهي خير مثال لراغبي الحصول علي نظافة شاملة مع التعقيم وباسعار مناسبة

شركة تنظيف بالقطيف
شركة تنظيف منازل بالقطيف

______________________________________________________________________________________________________________________


شركة كشف تسربات المياه بالقطيف
شركة تنظيف مجالس بالقطيف
شركة تنظيف خزانات بالقطيف
شركة شفط بيارات بالقطيف

الصفوة جروب said...

شركة المثالية للتنظيف افضل شركة تنظيف بالمنطقة الشرقية تخصصت في تقديم كافة الاعمال المنزية من نظافة ومكافحة حشرات بالمنطقة فلديها افضل الخدماتبافضل جودة واوبارخص الاسعار التي لا تتوفر الا معها كافضل وارخص شركة تنظيف بالاضافة الي خدمتا مكافحة الحشرات ورش المبيدات الامنة والفعالة علي الحشرات بجميع انواعها .. تقدم لكم اليوم افضل العروض والخدمات بخصومات هائلة يمكنكم الحصول عليها من خلال الروابط التالية

شركة المثالية للتنظيف
شركة المثالية للنظافة
شركة المثالية للتنظيف بالدمام
شركة المثالية للتنظيف بالخبر
شركة المثالية للتنظيف بالقطيف

الصفوة جروب said...

شركة ماسة لمكافحة الحشرات
شركة ماسة لرش المبيدات
شركة ماسة لمكافحة الحشرات بالاحساء
شركة ماسة لمكافحة الحشرات بالرياض

الصفوة جروب said...

شركة طيوب لتسليك المجاري
شركة طيوب لتسليك المجاري بالقطيف
شركة طيوب لتسليك المجاري بالدمام
شركة طيوب لتسليك المجاري بالخبر
شركة طيوب لتسليك المجاري بالاحساء

الصفوة جروب said...

شركة ورس لمكافحة الحشرات
شركة ورس لرش المبيدات
شركة ورس لمكافحة الحشرات بالاحساء

ركن كلين said...


شركة مكافحة حشرات بالرياض
شركة مكافحة الناموس بالرياض
شركة مكافحة النمل الاسود بالرياض
شركة مكافحة بق الفراش بالرياض
شركة مكافحة البرص بالرياض
شركة رش مبيدات شمال الرياض
شركة رش مبيدات جنوب الرياض
شركة رش مبيدات شرق الرياض
شركة رش مبيدات غرب الرياض

ركن الهدى said...


تقدم شركة ركن الهدى 0556754301 افضل خدمات مكافحة الحشرات باقوى المبيدات الالمانية التى تقضى على الحشرات نهائيا مع الضمان الشامل ضد الحشرات بالدمام وتقدم خدمات تسليك المجارى بااحدث الاجهزه التى توزيل الاتسدادات فى الدمام

شركة مكافحة حشرات بالدمام

شركة تسليك مجارى بالدمام

شركة مكافحة حشرات بالقطيف

PSL Live Streaming Online PslT20.net said...

PSL Live Streaming

Crictime Live Cricket Streaming

Ptv Sports Live Cricket Streaming

Media3K said...

The Pinoy TV shows and programs that are aired on Pinoy TV make you proud to be a part of Philippines culture. People also love to watch all Pinoy teleserye of pinoy lambingan because in these shows they get to know about the attest trends in the society and also the current happenings.
Pinoy channel

However said...

T10 League Live Streaming

Unknown said...

PSL live streaming, PSL 2019 live streaming, PSL live streaming. Watch all matches of Pakistan Super League live here. PSL 2019 is starting on 14th February and PSL 4 final match will be played on 17th March at Karachi. Full schedule will be released later.

Unknown said...

Television is already considered as one great part of entertainment for many individuals especially for Filipinos. In every Filipino household, watching television is one among the best sources of entertainment and fun. Almost all Filipinos are into being addicted with watching different shows in television. All over the Philippines, one among the most widely chosen network to watch Pinoy TV Shows is GMA 7. It provides numbers of unique and meaningful TV shows that make every pinoy be addicted on watching television and so proud being a Filipino as well. Most Filipinos are really fanatic of TV show thats why it could be frustrating on their part if they couldnt watch their favorite shows. But due to some reasons like busy schedules some Filipinos dont have time to watch their favorite television shows.

شركه تنظيف said...

طرق التخلص من الفوضى بالمنزل
شركة مكافحة حشرات بالطائف
ديكورات مطابخ
طرق للتخلص من الروائح الكريهة بالمنزل
شركة كشف تسربات المياه بالخبر
شركة نقل اثاث بالخبر
شركة تنظيف بالخبر

Ali said...

christmas desktop wallpapers
merry christmas images
cute christmas sayings wishes quotes
inspirational christmas quotes
merry christmas poem

Gaming Lover said...

GOOD
Merry Christmas & Happy New Year
Happy New Year Quotes 2019
Merry Christmas & Happy New Year 2019
Happy New Year Messages Poetry 2019
Happy New Year Resolution 2019
Happy New Year Resolutions 2019
Happy New Year Gift Ideas 2019
Happy New Year Wallpapers 2019

Check Also Today Live Match
Today Live Match Streaming
Today Live Match Prediction
World Cup Live Streaming

Unknown said...

Amazing site..Thanks for sharing..keep update php training in chennai | php training in velachery chennai | php course fees in chennai | best php training institute in chennai

nandhu said...



shareit apk download
shareit downloads
download shareit
download shareit apk
This makes SHAREit an all-in-one app that will come in handy at all times. In addition, the GIFs, wallpapers and stickers that can be found with SHAREit can be personalized, downloaded and shared with friends.

Rajat Gaikwad said...

I think this is an informative post and knowledgeable. I would like to thank you for the efforts you have made in writing this article... jobs in patna

Unknown said...

IPL 2019 Today Match Prediction

CWC 2019 Today Match Prediction

Chirstmas Decorations said...

ipl schedule 2019

ananthinfo said...

nice post..
mysql dba training institute
mysql dba training in chennai
java training in chennai
best java training institute in chennai
seo training in chennai
seo training institute in chennai
erp training institute in chennai
erp training in chennai

على جمال said...


خدمات ركن كلين لمكافحة الحشرات بالرياض لذلك تحرص شركتنا كأفضل و ارخص شركة مكافحة حشرات بالرياض الشركات الموجودة فى الرياض على التخلص من جميع الأفات الشرسه مثلا الفئران وغيرها من القوارض التى من الممكن ان تكون سبب فى تدمير اغراض اى منزل او قد تسبب بعض الامراض اونقلها.شركة مكافحة النمل الاسود بالرياض-شركة مكافحة الصراصير بالرياض-شركة مكافحة البق بالرياض-شركة مكافحة الوزغ بالرياض-شركة مكافحة الثعابين بالرياض

Cricfrog Prediction said...

Cricket Betting Tips ICC Cricket world cup 2019 Today match prediction who will win tital International Cricket Betting Tips, 100% Fixed Session & Toss report. Astrology today match prediction

ccl6t said...

Get the Today Match Prediction of the World Cup 2019,Momentum Cup, IPL, BPL, BBL, PSL, CSA, and many more. Fantasy Cricket Prediction
Halaplay Prediction, Cricfrogprediction, Dream11 Prediction, Who will Win, etc. here.

Gary said...

Thanks for the wonderful post, check here for the following details

ICC Cricket World cup 2019 Live Streaming

Crichd Live Streaming

Copa America 2019 Fixtures PDF

acmarket said...



Thankyou for the valuable information.iam very interested with this one.
looking forward for more like this.

ac Market
ac market downloading
acmarket apk
ac market for android
ac market ios
ac market for pc
ac Market download
download Ac Market
ac market apk


harshak said...

https://www.cartoonhd.org.in
Cartoon hd
cartoon hd apk
cartoon hd app
cartoon hd download

david williams said...
This comment has been removed by the author.
DedicatedHosting4u said...

This is really a big and great source of information. We can all contribute and benefit from reading as well as gaining knowledge from this content just amazing
experience Thanks for sharing such a nice information.

DedicatedHosting4u.com

sara said...

Vshare is a download manager which lets users download any app that is available in it.
https://vshare.one
Vshare
Vshare APK
vshare download
vshare android
vshare ios 11

cmtech said...

Great article information. thank you
cửa gỗ nhà vệ sinh

meldaresearch said...

Our provision of excellent buy pre written essays and computer science paper services is based on an assortment of factors, some of which include the immense experience and dedication to the success of our nursing essay writing help services.

cmtech said...

Thank you very much for the article information. I will share it with my friends.
cửa cuốn giá bao nhiêu

Tim Nollan said...

The dating.com reviews has helped a lot of singles get into a relationship. And that's just amazing.

23 July 2019 said...


our health and often lead to weight gain. Essential fatty acids also help our brain's neurotransmitters to function properly in order to deal with stress, emotions, and cravings that can lead to ove Ultra Fast Keto Boost

APK Guru said...

Nice blog. i really appreciate your efforts.
CricHD Live Streaming

Moonlight Bedding said...

Great article and very informative.
Checkout these amazing Home Decors Modern Rugs for modern living.

Neha said...

Your website is very beautiful. You have explained the details of all the information. I never got so much information from any other place. Thanks.
We give information about all cricket matches. We will tell the winning team prediction of all matches of the upcoming Bigbash League MSL T20 2019 Prediction Tips. Cricket Betting Tips Free How many runs will be scored in today's match, who will win the toss and everything. Today BBL T20 100% Sure Tips --Cricket Betting Tips--ball by ball match prediction

BGdoor said...

tậu cửa chính đẹp 2 cánh giống như một giải pháp cho nói chung nội thất trở nên hoàn hảo hơn, đẹp hơn, sang trọng và phá cách thức hơn. cửa chính 2 cánh lệch có diện tích lớn do đó nó vô cùng thích hợp với những căn biệt phủ hay những căn nhà ống cao cấp. Hơn nữa, báo giá cửa gỗ an cường với một bộ cửa chính bằng gỗ 2 cánh đẹp và cao cấp thì gia chủ sẽ không hề lo lắng về việc bị tróc sơn ngay cả khi cánh cửa chính bằng gỗ là món đồ nội thất dễ bị hỏng hóc nhất vì thường xuyên phải chịu các tác động trực tiếp từ thời tiết.

Term Paper Writing Services said...

Anyone seeking high-quality Custom Papers Writing Services will want to hire a qualified writer to handle their Essay Writer Services on time and offer best Research Papers Writing Services.

Elan said...

Nice Article..Useful Stuff..Keep Writing..

You can also get updates on the latest technologies here.

Data Science Training in Chennai
Data Science Course in Chennai
Best Data Science Training in Chennai
Data Science Certifications and Exams
Selenium Training in Chennai
Selenium Course in Chennai
Big Data Training in Chennai
IoT Training in Chennai
IoT Course in Chennai

Ivymelda said...

Medicine Essay Writing are the most outstanding in the writing industry, enabling you to achieve the best Thesis Writing Services. Also the professional writers’ commitments to delivering the top Medicine Essay Writing Services.

jacklinemelda said...

Online Custom Essay Services are affordable, with rates that are relatively lower in comparison with other Legitimate Custom Essay Writing Services since they allow learners to estimate charges when placing Legitimate Custom Writing Service Orders.

akshayavengala said...

kingroot for pc
kingroot pc
download kingroot pc
kingroot apk
kingoroot
kingroot download
you're working from your PC, download the APK and email it to yourself as an attachment.

meldaresearch said...

Do you where to find quality Custom Term Paper Writing Services to suit all your academic requirements? Legitimate Term Paper Writing Services are there for all your Custom Term Paper Writing Service needs.

ghani khan said...

Nice Article keep it up Can we get Best Graphic Card under 500$

ghani khan said...

Nice Article keep it up Can we get Best 120hz Monitor

homa hakeem said...

شركة تنظيف قصور بجازان
شركة تنظيف بيوت شعر بجازان
شركة تنظيف باابوعريش
شركة تنظيف ببيشه
شركة تنظيف مكيفات بجازان
شركة تنظيف سجاد بجازان
شركة تنظيف كنب بجازان

شركة تنظيف مجالس بجازان
شركة تنظيف منازل بجازان

المتوكل على الله said...


شركة مكافحة الفئران بالرياض
شركة مكافحة الصراصير بالرياض
شركة مكافحة النمل الاسود بالرياض
شركة مكافحة البق بالرياض
شركة مكافحة الوزغ بالرياض
شركة مكافحة الحمام بالرياض

homa hakeem said...


شركة تنظيف خزانات بالدمام
شركة كشف تسربات المياه بجدة
شركة عزل مائى بجدة
شركة كشف تسربات المياه بالقصيم
شركة تنظيف خزانات بالقصيم
شركة تسليك مجاري بالدمام

M.Yakoob said...

thanks for the post really like your efforts
cricbuzz live

Harry said...


Thanks for sharing the requirements. But, I want to ask something different.
I was thinking that how apps like android marketplace are made. Like the ones that offer free apps that are paid
on the Playstore. For example you can consider blackmart alpha, lucky patcher. These days there is a new similar app
in the market and that is AC Market. I read about it on this blog. https://acmarket.website

Let me know if you guys find out something.

ac market Apk 2020

acmarket for ios 2020

acmarket for pc 2020

Download Ac Market 2020

minecraft apk download 2020

Amazon app store apk 2020

App Even apk

app even ios

HOW TO GEEK said...

Are searching for Today match prediction?

Cricstone.com is the best and 100% sure.

Unknown said...

Thanks for this blog are more informative contents step by step. I here by attached my site would you see this blog.

Web designing trends in 2020

When we look into the trends, everything which is ruling today’s world was once a start up and slowly begun getting into. But Now they have literally transformed our lives on a tremendous note. To name a few, Facebook, Whats App, Twitter can be a promising proof for such a transformation and have a true impact on the digital world.

we have offered to the advanced syllabus course web design and development for available join now.

more details click the link now.

https://www.webdschool.com/web-development-course-in-chennai.html

المتوكل على الله said...



شركة تنظيف مكيفات بالرياض
افضل شركة تنظيف مكيفات بالرياض
شركة تنظيف مكيفات السبلت بالرياض
تنظيف مكيفات بالرياض
شركة غسيل مكيفات بالرياض

meldaresearch said...

Finding the best healthcare research paper services and Healthcare Essay Writing Services is not easy unless one is keen to establish a professional healthcare assignment writing service provider & healthcare homework help online.

sammer mark said...

WOW! Nice written by author If you tried everything and you are unable to take out your HP printer form error state then contact experts. A team of certified experts will help you to fix your HP Wireless Printer Setup problem. After having the guidance of experts, you will be able to take out printouts by your HP printer.

sammer mark said...

Great post. I like to read your post. I am waiting for your next post. HP Printer setup

sammer mark said...

Great post. I like to read your post. I am waiting for your next post. HP Printer setup

meldaresearch said...

Online psychology essay writing services are very difficult to complete and many students are always searching for Help with Psychology Coursework Writing services to help them complete their psychology research paper writing services and psychology case study writing services.

المتوكل على الله said...





نحن شركة تنظيف مكيفات بالرياض متخصصة في تنفيذ اعمال تنظيف وصيانة واصلاح جميع انواع المكيفات التي تستخدم داخل المنازل والفلل والشركات والمصانع وكافة الاماكن حيث تقدم خدمات تنظيف مكيفات شباك ومكيفات صحراوية ومكيفات شباك ومكيفات سبيلت والتكيفات المركزية باستخدام الوسائل الحديثة ويتم تنظيف الوحدات الداخلية للمكيفات وازالة الاتربة والغبار والاوساخ وازالة الروائح الكريهة العالقة بالمكيف كما يقوم فني مكيفات بالرياض بصيانة واصلاح جودة التبريد وضبط صوت التكيف للمستوي المثالي وغيرها من أعمال الصيانة فقط عزيزي العميل قم بالتواصل معنا وقم بعرض مشكلتك وسوف تقوم افضل شركة تنظيف مكيفات بالرياض بسرعة التواصل معك والوصول إليك حيث ما كنت لعمل اللازم علي الفور فقط قم بالاتصال علي ارقامنا نصلك اين ما كنت علي الفور.
خدمات اخرى:-
شركة رش مبيدات بالرياض

Term Paper Writing Services said...

Biological science assignment writing service seekers have been on the rise lately since most learners need Biological Science Writing Services, biology research paper services and biological science essay writing services.

sammer mark said...

Hey! Thanks For Sharing such an informative Post Please Keep it up, I am waiting for your next post.
Can I Setup for HP Printer with Modern Technique
Gude Line for HP Fax Error 388

عبد الله محمد عبدالله said...

شركة مكافحة النمل الابيض بالرياض
شركة مكافحة النمل الاسود بالرياض
شركة مكافحة الفئران بالرياض
شركة مكافحة الصراصير بالرياض
شركة مكافحة الحمام بالرياض

DAUT KHAN said...

100% Match prediction

sammer mark said...

Wow! It is really wonderful and awesome thus it is very much useful for me to understand many concepts and helped me a lot. it is really explainable very well and i got more information from your blog.
Fix CD/DVD Drive Device Driver is Missing in My Laptop
Scan from your HP Photosmart Printer to your mac

allen kim said...

If you need a licensed and insured Cleaning service,Air Duct Cleaning Houston TX offers many Cleaning services for home, and office at affordable prices.
Our services :
Air Duct Repair Houston TX
Air Duct Sealing Houston TX
Dryer Vent Cleaning Houston TX
Steam Carpet Cleaning Houston TX
Upholstery Cleaning Houston TX
Tile & Grout Cleaning Houston TX
Water Damage Cleaning Houston TX